84 votes

Comment définir la couleur de l'imageview dans Android

Je veux mettre l'icône en ImageView et j'ai téléchargé des icônes sur ce site : Icône plate
Je veux maintenant définir la couleur de ces icônes, mais lorsque j'utilise la fonction setBackground Il suffit d'ajouter une couleur pour l'arrière-plan et de ne pas définir les icônes !
Quand utiliser NavigationView Je peux définir la couleur des icônes avec ce code : app:itemIconTint="@color/colorAccent" .

Comment puis-je définir la couleur des icônes dans ImageView tels que itemIconTint ? Merci à tous <3

0 votes

203voto

El0din Points 1546

Si vous utilisez une icône, cela peut être utile :

android:tint="@color/colorAccent"

Sinon, vous pouvez essayer de modifier la classe :

ImageView imageViewIcon = (ImageView) listItem.findViewById(R.id.imageViewIcon);
imageViewIcon.setColorFilter(getContext().getResources().getColor(R.color.blue));

Plus d'informations dans ce fil de discussion : Est-il possible de changer la couleur de l'icône material design à partir d'un fichier xml dans Android ?

0 votes

Android 4.0 supporte-t-il Android:tint="@color/colorAccent" ?

11 votes

Si vous voyez que getColor est obsolète, vous devez faire ce qui suit imageViewIcon.setColorFilter(ContextCompat.getColor(getConte‌​xt(), R.color.blue));

1 votes

Dans ce cas, la couleur qui a de l'alpha ne peut pas être appliquée. Par exemple, si la couleur est "#90000000", la couleur noire sera appliquée.

27voto

sJy Points 2874

Utiliser l'attribut tint de ImageView.

 android:tint="@color/colorAccent"

0 votes

Android 4.0 supporte-t-il Android:tint="@color/colorAccent" ?

0 votes

@MohammadNouri Non, les listes d'états de couleurs et les références de ressources dans le android:tint ne sont pas pris en charge avant Android 5.0 (API 21).

1 votes

En fait, la ColorStateList existe depuis API v1 : developer.Android.com/reference/Android/content/res/

13voto

Dhara Jani Points 220
 DrawableCompat.setTint(imageView.getDrawable(), ContextCompat.getColor(getApplicationContext(), R.color.white));

8voto

Sharanjeet Kaur Points 106

Utilisation

imageView.setColorFilter(getResources().getColor(R.color.color_white));

4voto

Shubham Soni Points 1220

Utiliser cette image teintée dans Android XML

 android:tint="@color/yourcolor"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X