Android 如何以编程方式使用MotionLayout启动动画?

Android 如何以编程方式使用MotionLayout启动动画?,android,Android,我有一个引用MotionScene的MotionLayout,我启动了动画“transition” 当一个事件“OnClick”发生在一个视图上,但我想立即启动动画时,我的活动开始了,我如何才能实现它 片段布局 //随便 应用于上方视图的运动场景(片段布局) ... ... 您可以通过在活动内部的motionLayout上调用TransitionEnd或TransitionStart来实现这一点。例如,在活动的onCreate方法中: class MainActivity : AppCom

我有一个引用MotionScene的MotionLayout,我启动了动画“transition” 当一个事件“OnClick”发生在一个视图上,但我想立即启动动画时,我的活动开始了,我如何才能实现它

片段布局


//随便
应用于上方视图的运动场景(片段布局)


...
...

您可以通过在活动内部的
motionLayout
上调用
TransitionEnd
TransitionStart
来实现这一点。例如,在活动的
onCreate
方法中:

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    authFragment.transitionToEnd
如果您只想在尚未完成转换的情况下执行转换,则可以将对
authFragment.transitionEnd
的调用包装在
If(authFragment.progress!=1.0
中,并且它只会在尚未完成转换的情况下执行转换。如果您选择以编程方式处理转换,我建议删除

<OnClick
        app:targetId="@id/tiedt_email"
        app:clickAction="transitionToEnd" />

因为这是一个有点难以跟踪多个地方,导致过渡