运动布局设置可绘制

Motion Layout set drawable

我有一个带有形状、笔触和颜色的自定义可绘制对象,我希望从一个可绘制对象过渡到另一个可绘制对象。我的问题是,使它起作用的正确属性名称和自定义值是什么?

我已经尝试过这个:

    <CustomAttribute
        app:attributeName="background"
        app:customColorDrawableValue="@drawable/border_right_radius_5"/>

尝试了其他选项,但似乎不起作用。有什么想法吗?

您可以创建两个具有相同约束的 ImageView 并将它们淡入和淡出

<androidx.constraintlayout.widget.ConstraintLayout>

    <ImageView
        android:id="@+id/iv1"
        ...
        android:visibility="visible"
        app:srcCompt="@drawable/shape1"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="parent" />

    <ImageView
        android:id="@+id/iv2"
        ...
        android:visibility="invisible"
        app:srcCompt="@drawable/shape2"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="parent" />

<androidx.constraintlayout.widget.ConstraintLayout>

<MotionScene>
    ...
    <ConstraintSet android:id="@+id/end">
    
        <Constraint
            android:id="@+id/iv1"
            android:visibility="invisible"
            ... />
    
        <Constraint
            android:id="@+id/iv2"
            android:visibility="visible"
            ... />
    
    </ConstraintSet>

</MotionScene>