LayoutTransition не задерживает переход APPEARING после CHANGE_APPEARING, оба происходят одновременно - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь использовать LayoutTransition для LinearLayout (вложенный в ConstraintLayout или FrameLayout).Всякий раз, когда я программно устанавливаю видимость одного из TextViews из GONE в VISIBLE, запускается анимация LayoutTransition.Тем не менее, документы / API предполагают, что сначала должно произойти CHANGE_APPEARING, а затем APPEARING.То же самое происходит с DISAPPEARING и CHANGE_DISAPPEARING. Вместо этого они оба выполняются одновременно, что приводит к тому, что обрезка видна в TextView.Я пробовал это, используя LayoutTransition по умолчанию, а также устанавливая все эти значения в пользовательском LayoutTransition.Я что-то упускаю из-за этой задержки?

<LinearLayout
        android:id="@+id/controls"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:animateLayoutChanges="true"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        >

        <TextView
            android:id="@+id/one"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello One!"
            android:background="@color/colorAccent"
            android:layout_margin="10dp"
            />

        <TextView
            android:id="@+id/two"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:text="Hello Two!"
            android:background="@color/colorAccent"
            android:visibility="gone"

            />

        <TextView
            android:id="@+id/three"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:text="Hello Three!"
            android:background="@color/colorAccent"
            android:visibility="gone"
            />

</LinearLayout>
...