Текстовое представление искажено, когда настройка видимости пропала при использовании TransitionManager.beginDelayedTransition - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь анимировать изменение видимости TextView в корневом ConstraintLayout, используя простую анимацию TransitionManager.beginDelayedTransition(ViewGroup sceneRoot).
При установке видимости на View.VISIBLE все работает как положено.
С другой стороны, при установке видимости на View.GONE непосредственно перед тем, как TextView будет установлен на GONE, текст, который содержит TextView, искажается / вид остается видимым.

Используемый код:

private fun onTitleClicked(@IdRes viewId: Int) {

    val layout = findViewById<View>(viewId)
    TransitionManager.beginDelayedTransition(scene_root)

    val expanded = layout.visibility == View.VISIBLE
    layout.visibility = if (expanded) View.GONE else View.VISIBLE

}  

Используемый XML:

<TextView
        android:id="@+id/tv_architecture_components_title"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:background="@drawable/bg_blue_rectangle"
        android:foreground="?android:selectableItemBackground"
        android:gravity="center"
        android:onClick="onClick"
        android:padding="10dp"
        android:text="@string/android_architecture_components"
        android:textColor="@color/md_blue_800"
        android:textSize="16sp"
        app:layout_constraintBottom_toTopOf="@+id/btn_architecture_components1"
        app:layout_constraintEnd_toStartOf="@+id/guideline_end"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="@+id/guideline_start"
        app:layout_constraintTop_toBottomOf="@+id/tv_code_labs_title"/>

Это выглядит так:

Animated visibility gone bug

Есть идеи или предложения по решению проблемы?



Обновление

Кажется, что происходит только с телефонами Samsung.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...