Передать атрибуты в drawable из вида, который его использует - PullRequest
0 голосов
/ 20 февраля 2019

Полагаю, ответ - нет, но, возможно, какой-то гуру делает мой день: я хочу сделать ImageView с градиентом, но дело в том, что мне нужно много разных цветов.Я нахожу неэффективным создание набора рисунков с одинаковой формой и всем, и единственное отличие - EndColor.Знаете ли вы какой-нибудь способ придать этот цвет для рисования из ImageView, который использует его в качестве src?(Лучше если это из xml).Я НЕ хочу делать это с помощью стилей, поскольку создание разных стилей только для одного представления было бы неэффективным.

Мой (очень простой) отрисовка:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="8dp" />
    <gradient android:endColor="@color/pieChartWalking"
        android:startColor="@color/pieChartGradientStart" />
    <size android:width="16dp"
        android:height="16dp" />
</shape>

И вот как я хотел бы использовать отрисовку:

<ImageView
    android:id="@+id/legend_walking_dot"
    android:layout_width="16dp"
    android:layout_height="16dp"
    android:src="@drawable/myDrawableForGradient"
    my_attribute:startColor="@aColorReference"
    my_attribut:endColor="@anotherColorReference" />

Заранее спасибо!

...