使用TransitionManager.beginDelayedTransition设置可见性消失时,Textview变形

时间:2018-09-13 08:32:22

标签: android animation textview visibility

我正在尝试使用TransitionManager.beginDelayedTransition(ViewGroup sceneRoot)的简单动画来在根ConstraintLayout中为TextView的可见性变化设置动画。
将可见性设置为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

任何想法/建议如何解决该问题?



更新

似乎只有三星手机才会发生。

0 个答案:

没有答案