Android 是否可以在MotionLayout中设置结束状态而不使用动画?

Android 是否可以在MotionLayout中设置结束状态而不使用动画?,android,android-recyclerview,android-animation,android-constraintlayout,android-motionlayout,Android,Android Recyclerview,Android Animation,Android Constraintlayout,Android Motionlayout,我有一些项目被包装在motionLayout和recyclerView中,其中需要将一个项目设置为结束状态,并将其余项目保持在开始状态,无任何动画或闪烁,只需显示即可。 当我试着打电话时 transitionToState(endState) 或 动画发生了,但我只需要第一次将元素设置为结束状态。 当用户单击项目时,所有内容都应设置动画。通过执行以下操作,您可以在不设置动画的情况下切换到MotionLayout的结束状态: yourMotionLayout.setTransitionDura

我有一些项目被包装在motionLayout和recyclerView中,其中需要将一个项目设置为结束状态,并将其余项目保持在开始状态,无任何动画或闪烁,只需显示即可。

当我试着打电话时

transitionToState(endState)

动画发生了,但我只需要第一次将元素设置为结束状态。
当用户单击项目时,所有内容都应设置动画。通过执行以下操作,您可以在不设置动画的情况下切换到MotionLayout的结束状态:

yourMotionLayout.setTransitionDuration(0)
yourMotionLayout.transitionToEnd()
您可以将其包装到扩展函数中,以便于重用:

/**
 * Triggers the underlying [MotionLayout] to transition to end state immediately.
 */
fun MotionLayout.jumpToEnd() {
    this.setTransitionDuration(0)
    this.transitionToEnd()
}

您可以通过编程方式寻求转换:
setProgress(1f)
将在没有动画的情况下转换到结束状态。

您是否尝试过
setProgress(1.0f)
/**
 * Triggers the underlying [MotionLayout] to transition to end state immediately.
 */
fun MotionLayout.jumpToEnd() {
    this.setTransitionDuration(0)
    this.transitionToEnd()
}