У меня есть 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 на, а затем контролировать состояние анимации с прогрессом:
motion_layout.setProgress(0.25f, 1.0f)
который просто запускает всю анимацию до конца, или я пробовал
motion_layout.progress = 0.25f
которые не анимируются, они просто показывают мне прогресс анимации 0,25 без какого-либо движения.
Как контролировать поток анимации? Как запустить конкретный набор? Было бы лучше использовать прогресс? Как это решить?
P.S. я использую
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta7'