gpt4 book ai didi

android - 如何无限运行Android MotionLayout/MotionSense 中定义的动画?

转载 作者:行者123 更新时间:2023-12-04 17:27:33 42 4
gpt4 key购买 nike

我通过 Google 阅读了这份文档:Manage motion and widget animation with MotionLayout
我还阅读了更多文档,例如 Getting Started with the Motion Editor in Android Studio 4.0

问题是他们都讨论了当我们点击一​​个 View /按钮时如何启动动画。我想模拟加载动画,但我想在显示 View 时自动启动动画。

我意识到我可以使用下面的代码运行动画。然而,问题是,transitionToEnd()运行一次动画。

所以,我的问题是:

  • 如何运行动画并将其放入循环中? (永远拥有它,直到我停止它。)
  • 是否可以从startToEnd开始运行动画,然后endToStart,以这种方式循环动画?
  • private fun displayDamLoadingAnimation() {
    val view = layoutInflater.inflate(R.layout.viewgroup_dam_loading, binding.flDamContainer)
    view.motionContainer.transitionToEnd()
    }

    最佳答案

    这可能对用户手机不利,但您可以做到。
    一种方法是创建两个转换:

    <Transition
    motion:constraintSetEnd="@+id/end"
    motion:constraintSetStart="@+id/start"
    motion:autoTransition="animateToEnd"
    motion:duration="1000">

    <Transition
    motion:constraintSetEnd="@+id/end"
    motion:constraintSetStart="@+id/start"
    motion:autoTransition="animateToStart"
    motion:duration="1000">

    但是如果你想让它循环就不要来回
    <Transition
    motion:constraintSetEnd="@+id/end"
    motion:constraintSetStart="@+id/start"
    motion:autoTransition="animateToEnd"
    motion:duration="1000">
    <Transition
    motion:constraintSetEnd="@+id/end"
    motion:constraintSetStart="@+id/start"
    motion:autoTransition="jumpToStart"
    />

    关于android - 如何无限运行Android MotionLayout/MotionSense 中定义的动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62348505/

    42 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com