我有一些项目被包裹在 motionLayout 和 recyclerView 中,其中需要将一个项目设置为结束状态,并将其余项目保持在开始状态,没有任何动画或闪烁,只是显示。
当我尝试调用
transitionToState(endState)
或
transitionToEnd()
动画发生了,但我只需要在第一次将元素设置为结束状态。 当用户点击项目时,一切都应该是动画的
最佳答案
通过执行以下操作,您可以在没有动画的情况下过渡到 MotionLayout 的结束状态:
yourMotionLayout.setTransitionDuration(0)
yourMotionLayout.transitionToEnd()
您可以将其包装到扩展函数中以便于重用:
/**
* Triggers the underlying [MotionLayout] to transition to end state immediately.
*/
fun MotionLayout.jumpToEnd() {
this.setTransitionDuration(0)
this.transitionToEnd()
}
关于android - 是否可以在没有动画的情况下在 MotionLayout 中设置结束状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64861925/