НАБОР ОГРАНИЧЕНИЙ ДЛЯ МАКЕТА ОГРАНИЧЕНИЙ, ЧТО НЕ РОДИТЕЛЬСКИЙ
Я понял это. Это творит чудеса. Я думаю, что это может быть полезно для других разработчиков, потому что я считаю вполне нормальным использовать ConstraintLayout внутри ScrollView, например, на экранах входа в систему.
Итак, теперь у меня 2 Xmls, верно? «Исходный» и переходный.
Original: <ScrollView> <ConstraintLayout><ConstraintLayout> <ScrollView>
Transition: <ConstraintLayout></ConstraintLayout>
Переход XML не имеет ScrollView, потому что мне нужно клонировать полный макет (мой макет перехода) внутри ViewGroup (дочерний элемент ScrollView, мой макет ограничения). Если вы попытаетесь клонировать макет дочернего ограничения в другой макет дочернего ограничения, он выйдет из строя с помощью метода .getChild (), не знаю почему. Но вы можете клонировать макет ConstraintLayout в представление ConstraintLayout.
val constraintSet = ConstraintSet()
constraintSet.clone(this, R.layout.activity_login_transition) // here I'm cloning the whole transition layout
TransitionManager.beginDelayedTransition(login_constraint) //this is only for animation
constraintSet.applyTo(login_constraint) // and here I'm applying it only to my constraint layout. 'login_constraint' is my constraint's ID
И все. Надеюсь, это сработало и для вас.
Спасибо Ezequiel Zanetta