У меня есть MotionScene с 4 ConstraintSets, представляющими 4 состояния экрана (состояния загрузки) и с 3 переходами между ними. Когда состояние моего приложения изменяется, например, с загрузки на обработку, я хочу запустить Переход 1 (set1 -> set2), когда состояние снова изменится, я хочу запустить Переход 2 (set2 -> set3). И я не могу найти способ сделать это.
Я попробовал следующее:
Чтобы установить текущий переход с помощью
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".
Я попытался поместить все в один переход и установить app: progress = 0 on, а затем управлять состоянием анимации с прогрессом:
motion_layout.setProgress(0.25f, 1.0f)
, который просто запускает всю анимацию до конец, или я попробовал
motion_layout.progress = 0.25f
, которые не анимируются, они просто показывают мне 0,25 хода анимации без движения.
Как управлять потоком анимации? Как запустить конкретный набор? Было бы лучше использовать прогресс? Как решить?
PS Использую
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta7'