首页 > 解决方案 > 带有 MotionLayout 的 TextView 可绘制旋转

问题描述

我想TextView根据动画的进度旋转drawable。textView 是 MotionLayout 的一部分,它正在被动画化。理想情况下,我想避免使用 kotlin 代码来做到这一点,只是 XML

 <TextView
    android:id="@+id/thumb"
    android:layout_width="45dp"
    android:layout_height="65dp"
    android:layout_marginTop="8dp"
    android:drawableStart="@drawable/ic_chevron_left_black_24dp"
    android:drawablePadding="0dp"
    android:drawableTint="@color/white"/>

所以我想旋转可绘制对象,而不是整个TextView. 有谁知道这是否可能?我只看到 rotatin 整个小部件的示例。

标签: androidandroid-motionlayout

解决方案


您在drawableStart您指定的内容TextView不能像 TextView 本身那样进行动画处理,因为可绘制对象不是 MotionLayout 的直接子项。这就是 XML 方式的情况。但是你总是可以通过简单地在MotionLayout.TransitionListener回调上应用动画来使用 Java/Kotlin 执行任何类型的动画。


推荐阅读