使用MotionLayout时如何指定色调作为ImageView上的自定义属性

时间:2018-08-06 01:09:16

标签: android android-constraintlayout

使用MotionLayout时,如何为imageView指定色调颜色作为自定义属性。目前,我只能在我的MotionScene xml文件中指定自定义背景色:

<ConstraintSet android:id="@+id/end">
    <Constraint
        android:id="@+id/imageView"
        android:layout_width="180dp"
        android:layout_height="180dp"
        motion:layout_constraintBottom_toBottomOf="parent"
        motion:layout_constraintEnd_toEndOf="parent"
        motion:layout_constraintStart_toStartOf="parent"
        motion:layout_constraintTop_toTopOf="parent"
        motion:layout_constraintVertical_bias="0.75"
        motion:srcCompat="@drawable/ic_android_black_24dp" >
        <CustomAttribute
            motion:attributeName="backgroundColor"
            motion:customColorValue="#9999FF" />
    </Constraint>
</ConstraintSet>

3 个答案:

答案 0 :(得分:0)

tint takes a color value起,它应该几乎与backgroundColor

相同

<CustomAttribute motion:attributeName="tint" motion:customColorValue="@color/your_tint_color" />

答案 1 :(得分:0)

请注意,您正在使用backgroundColor,但属性为android:background。对于tint,您应该输入:

            <CustomAttribute
                motion:attributeName="ColorFilter"
                motion:customColorValue="#9999FF" />

据我所知,CustomAttribute的功能使用反射而不是xml等的属性。请记住所有自定义属性。

答案 2 :(得分:0)

您可以使用ColorFilter

<CustomAttribute
    motion:attributeName="colorFilter"
    motion:customColorValue="@color/your_tint_color" />