MotionLayout 以编程方式跳转到结束 ConstraintSet

MotionLayout jump to end ConstraintSet programmatically

有一个选项可以跳转到 XML in MotionLayout 的结尾 ConstraintSet

<Transition
    app:autoTransition="jumpToEnd"
    motion:constraintSetEnd="@+id/constraintStart"
    motion:constraintSetStart="@+id/constraintEnd"
    motion:duration="300" />

这可以通过编程方式完成吗?

我明白了。为了跳转到 ConstraintSet,请将 MotionLayout 的进度设置为 1。

motionLayout?.setProgress(1.0f)

当你有多个转换时,然后将 MotionLayout 的状态设置为最终 ConstraintSet 然后将进度设置为 1。

motionLayout?.setState(R.id.endConstraintSet,ConstraintSet.MATCH_CONSTRAINT,ConstraintSet.MATCH_CONSTRAINT)
motionLayout?.setProgress(1.0f)

使用MotionLayout

transitionToEnd()方法

使用setProgress to 1f方法确实生效了,但是我在TransitionListener中收不到onTransitionCompleted事件