web-dev-qa-db-fra.com

Changer la couleur des icônes de matériau?

J'ai téléchargé un certain nombre d'icônes matérielles à partir d'ici:

https://material.io/icons/

Je ne sais pas trop comment je peux changer la couleur de ces icônes. J'ai une Button avec une icône dans la propriété drawableLeft, puis un certain nombre de ImageButton avec des icônes définies, comme suit:

<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" />

Comment changer la couleur des icônes pour chacune?

De plus, si les icônes que j'ai téléchargées sont noires, comment puis-je changer la couleur des icônes en une couleur avec transparence?

10
user7332813

Ajoutez ceci à votre ImageButton dans votre fichier de mise en page XML.

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

Tous les widgets appcompat prennent en charge l'attribut Android:tint="@color/somecolorresource". Si votre activité/fragment étend AppCompatActivity/Fragment, cela fonctionnera pour tout ImageView/TextView/ImageButton/....

Voir: https://stackoverflow.com/a/37261384/3662251

1
code_mc

Si vos icônes sont des vecteurs, vous pouvez modifier le fichier XML et modifier l'attribut Android:fillColor. Si les icônes sont des images bitmap, vous pouvez ajouter l'attribut Android:tint à ImageButton.

1
Karol Jurski

Ce link est idéal pour éditer des icônes, vous pouvez également générer des icônes avec un arrière-plan transparent. J'espère que cela t'aides.

0
Simo