Как указать оттенок как пользовательский атрибут в ImageView при использовании MotionLayout
Как указать цвет оттенка для imageView в качестве пользовательского атрибута при использовании MotionLayout. В настоящее время я могу только указать собственный цвет фона в моем 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>
1 ответ
Обратите внимание, что вы используете backgroundColor
но атрибут android:background
, За tint
Вы должны написать:
<CustomAttribute
motion:attributeName="ColorFilter"
motion:customColorValue="#9999FF" />
Насколько я знаю, особенность CustomAttribute
использует отражение, а не атрибуты из xml и т. д. Имейте это в виду для всех пользовательских атрибутов.
Вы можете использовать ColorFilter.
<CustomAttribute
motion:attributeName="colorFilter"
motion:customColorValue="@color/your_tint_color" />
Так как оттенок принимает значение цвета, он должен быть почти идентичен backgroundColor
<CustomAttribute
motion:attributeName="tint"
motion:customColorValue="@color/your_tint_color" />