it-swarm.com.ru

Менять цвет материальных значков?

Я скачал несколько значков материала отсюда:

https://material.io/icons/

Я запутался в том, как я могу изменить цвет этих значков для рисования. У меня есть один Button со значком в свойстве drawableLeft, а затем несколько ImageButton с установленными значками, например:

<Button
    Android:text="Hey"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:drawableLeft="@drawable/ic_arrow_upward_black_24dp"
    Android:stateListAnimator="@null" />

<ImageButton
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    app:srcCompat="@drawable/ic_arrow_downward_black_24dp"
    Android:background="@null" />

Как мне изменить цвет иконок для каждого?

Кроме того, если загруженные значки являются черными, как я могу изменить цвет значков на прозрачный?

10
user7332813

Вы понимаете, что Все значки материалов на https://material.io/icons/ теперь доступны в Android studio, Нет необходимости даже загружать их. Просто щелкните правой кнопкой мыши на drawables> New> Vector Asset

Вы получите диалог, как

 this

После нажатия на маленький значок Android выберите изображение и сохраните. Это создаст xml drawable, который можно открывать и редактировать по своему вкусу.

Вот как это будет выглядеть

<vector xmlns:Android="http://schemas.Android.com/apk/res/Android"
        Android:alpha="0.8" <!--set the transparency from here -->
        Android:width="24dp"
        Android:height="24dp"
        Android:viewportWidth="24.0"
        Android:viewportHeight="24.0">
    <path
        Android:fillColor="#FF000000" <!-- Use this for setting your color -->
        Android:pathData="M9.4,16.6L4.8,12l4.6,-4.6L8,6l-6,6 6,6 1.4,-1.4zM14.6,16.6l4.6,-4.6 -4.6,-4.6L16,6l6,6 -6,6 -1.4,-1.4z"/>
</vector>
30
Collins Abitekaniza

Добавьте это к вашему ImageButton в вашем файле макета XML

Android:tint="@color/black"
Android:tintMode="@color/black"
5
firegloves

Все виджеты appcompat поддерживают атрибут Android:tint="@color/somecolorresource". Если ваша деятельность/фрагмент распространяется на AppCompatActivity/Fragment, это будет работать для любого ImageView/TextView/ImageButton/....

Смотрите: https://stackoverflow.com/a/37261384/3662251

1
code_mc

Если ваши значки являются векторами, вы можете отредактировать XML-файл и изменить атрибут Android:fillColor. Если значки являются растровыми изображениями, вы можете добавить атрибут Android:tint в ImageButton.

1
Karol Jurski

Эта ссылка отлично подходит для редактирования иконок, вы также можете создавать иконки с прозрачным фоном. надеюсь это поможет.

0
Simo