重现步骤:运行带有MotionLayout的活动过渡到非初始状态旋转设备或启用/禁用黑暗模式
观察到:MotionLayout处于初始状态预期:MotionLayout处于旋转之前显示的状态
我应该将状态的ID放在中savedInstanceState,然后转换到该状态(持续时间为0,因此是瞬时的)onCreate吗?我认为这种方法行得通,但感觉有些不客气,有人知道这个问题有更好的解决方案吗?
savedInstanceState
onCreate
这是问题的记录:
MotionLayout不会自动保存其状态。布局的状态可能非常复杂。
保存MotionLayout基本状态的最通用方法是保存getTransitionState()返回的包,然后在还原时调用setTransitionState(Bundle b)
好吧,如果运动布局处于其最终状态内,则这就像一个魅力。但是,如果我在运动布局应处于开始状态时设置了setTransitionState,则它将自动转换为结束状态。您对如何禁用此自动转换行为有任何建议吗?(在场景文件中未设置自动过渡)
请参阅此问题以获取进一步的说明和代码/ gif:stackoverflow.com/questions/65048418/…