Оттенок Drawabale ImageView не работает в виджете

#android #android-studio #android-layout #android-widget #android-styles

Вопрос:

Я создаю виджет, но когда я добавляю app:tint="@color/white" его, он показывает оттенок в предварительном просмотре дизайна, но когда виджет загружается, оттенок не применяется, значок все еще черный, мне нужно добавить белый оттенок в изображение.

 <ImageView
    android:id="@ id/imageView1"
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:layout_alignParentEnd="true"
    android:elevation="10dp"
    android:src="@drawable/ic_explore_01"
    app:tint="@color/white" />
 

Ответ №1:

Откройте свой ic_explore_01 xml-файл и отредактируйте fillColor , как показано ниже, фрагмент кода.

 <vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportHeight="24.0"
    android:viewportWidth="24.0">
    <path
        android:fillColor="@color/white"
        android:pathData="M3,13h8L11,3L3,3v10zM3,21h8v-6L3,15v6zM13,21h8L21,11h-8v10zM13,3v6h8L21,3h-8z" />
</vector>
 

Комментарии:

1. Это сработало, я использовал файл изображения png, я превратил его в векторное изображение и изменил цвет заполнения на белый, что сделало работу

2. !! Имейте в виду, что это всего лишь обходной путь; если вам нужно повторно использовать одно и то же изображение с разными цветами, это не поможет, вам придется дублировать изображение для каждого цвета.