Горячо проигрывать переходы один за другим в motionlayout, чтобы это выглядело как единая анимация? Хотя ключевой кадр можно использовать для создания промежуточных состояний между двумя наборами констант, они также ограничены и не могут изменять все желаемые свойства.
<Transition
app:constraintSetEnd = "@layout/simple_start"
app:constraintSetStart = "@layout/simple_middle"
>
<OnSwipe
app:dragDirection = "dragUp"
app:touchAnchorId = "@id/scrollable"
app:touchAnchorSide = "top" />
</Transition>
<Transition
app:constraintSetEnd = "@layout/simple_middle"
app:constraintSetStart = "@layout/simple_end"
>
<OnSwipe
app:dragDirection = "dragUp"
app:touchAnchorId = "@id/scrollable"
app:touchAnchorSide = "top" />
</Transition>
</MotionScene>
Вы пробовали запускать переходы прямо в коде?
((MotionLayout)findViewById(R.id.simple_start)).transitionToEnd();
((MotionLayout)findViewById(R.id.simple_middle)).transitionToEnd();
override fun onClick(v: View) {
when (v.id) {
R.id.likeView -> {
motionLayout.setTransition(R.id.start_first_set,R.id.end_first_set)
motionLayout.transitionToEnd() // start first anime
}
}
motionLayout.setTransitionListener(object : MotionLayout.TransitionListener{
// .....
override fun onTransitionCompleted(p0: MotionLayout?, id: Int) {
when (id) {
R.id.end_first_set -> {
motionLayout.setTransition(R.id.start_second_set,R.id.end_secons_set)
motionLayout.transitionToEnd() // start second anime
}
}
})