MotionLayout внутри ScrollView не обновляет высоту после изменения состояния - PullRequest
3 голосов
/ 12 июня 2019

У меня есть MotionLayout внутри NestedScrollView:

<androidx.core.widget.NestedScrollView
        android:id="@+id/scroll_content"
        android:layout_width="match_parent"
        android:fillViewport="true">
    <androidx.constraintlayout.motion.widget.MotionLayout
            android:id="@+id/content_parent"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="10dp"
            app:layoutDescription="@xml/main_scene">
            <View 1>
            <View 2>
            <View 3>
    </androidx.constraintlayout.motion.widget.MotionLayout>

В моем состоянии 1 отображается только вид 1.
В моем состоянии 2 отображается только вид 2.
Мое состояние 3 показывает Вид 1 + Вид 2 (ниже Вид 1) + Вид 3 (ниже Вид 2)

Поскольку состояние 3 добавляет несколько видов по вертикали, оно самое длинное по вертикали.

Однако я могу только прокрутить вниз до значения, установленного для состояния 1 и состояния 2. Это не сбрасывает высоту внутри scrollView.

Я что-то не так делаю?

Я попытался выполнить следующее в onTransitionCompleted ():

scroll_content.getChildAt(0).invalidate()
scroll_content.getChildAt(0).requestLayout()
scroll_content.invalidate()
scroll_content.requestLayout()

Они не решили мою проблему.

...