我有一个MotionScene,其中包含4个ConstraintSets,代表屏幕的4个状态(加载状态),并且它们之间有3个转换。当我的应用程序状态从加载转变为处理时,我想运行Transition 1(set1 -> set2),再次更改状态时,我想运行Transition 2(set2 -> set3)。但是我找不到实现的方法。
我尝试了以下方法:
使用“setCurrentTransition”来设置当前转换。
我尝试了以下方法:
使用“setCurrentTransition”来设置当前转换。
motion_layout.setTransition(R.id.set1, R.id.set2)
motion_layout.transitionToState(R.id.set2)
只需设置过渡效果。motion_layout.setTransition(R.id.set1)
为了过渡到某个状态: motion_layout.transitionToState(R.id.set1)
但上述所有方法都会将我所有的设置合并在一起,即使我使用了app:autoTransition="none"。
我尝试将所有内容放入一个Transition中,并设置app:progress = 0,然后通过进度控制动画的状态:
motion_layout.setProgress(0.25f, 1.0f)
它只是将所有动画运行到结束,或者我尝试过
motion_layout.progress = 0.25f
它不会执行动画,只会显示动画进度的0.25,没有任何运动。
如何控制动画的流程?如何运行特定的设置?使用进度条是否更好?如何解决这个问题?
P.S. 我使用了
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta7'