Отображение движения внутри вида прокрутки, не оптимизированного для изменения анимации

#android #android-scrollview #android-nestedscrollview #android-motionlayout

Вопрос:

У меня есть MotionLayout внутри а ScrollView , где я прячусь и показываю Views во Transition время перехода от одного ConstraintSet к другому.

У меня возникает пара проблем, когда я добавляю a ScrollView в качестве родителя:

  • Анимация между любыми двумя ConstraintSet s пропускает все кадры, кроме конца.
  • Переходы между некоторыми ConstraintSet s не дают того же результата, что и без (я понимаю, что это может быть из-за неполных/неправильных ConstraintSet s, определенных в сцене, однако я просмотрел код и не могу найти никакого разумного объяснения).

Сначала я подумал, что проблема связана с пересчетом размера/границ MotionLayout (из-за недавно добавленного родителя), который был изменен с "android:layout_height="match_parent" на "android:layout_height="wrap_content" , и поэтому я сбросил высоту до жестко заданного значения, чтобы посмотреть, будет ли это оптимизировать рисунок. Но это не дало никакой разницы.

Я также попробовал motion:layoutDuringTransition="ignoreRequest" amp; motion:layoutDuringTransition="honorRequest" на всех переходах, но опять безрезультатно.

Примечание: Я пытаюсь пропустить добавление макета и сцены в пост просто потому, что моя сцена содержит 11 Transitions и 18 ConsraintSet секунд. Я знаю, что это немного сложный макет, где следующий шаг появляется, когда пользователь выбирает один из текущих вариантов.