web-dev-qa-db-fra.com

Désactiver l'icône colorStateList dans NavigationView

Dans mon application aujourd'hui, j'ai des icônes qui n'ont pas qu'une seule couleur, mais dans certains cas, deux couleurs en fonction de l'état des données dans mon application. Cela signifie que je ne peux pas utiliser le comportement de teinture par défaut dans NavigationView.

Il ressemble au nouveau NavigationView, sauf si je spécifie un ColorStateList pour mes icônes utilisées dans la liste, un ColorStateList par défaut sera créé pour moi qui utilise mon colorPrimary etc défini dans mon thème.

N'y a-t-il aucun moyen pour moi de forcer NavigationView à arrêter de teinter mes icônes?

31
tskulbru

N'y a-t-il aucun moyen pour moi de forcer NavigationView à arrêter de teinter mes icônes?

C'est sûr. Vous pouvez le faire par programme en utilisant NavigationView.setItemIconTintList .

Et vous pouvez le faire dans votre disposition XML en utilisant NavigationView.itemIconTint attribut.

Par programme

yourNavigationView.setItemIconTintList(null);

À partir de XML

<Android.support.design.widget.NavigationView
    ...
    app:itemIconTint="@Android:color/black" 
    ... />

Résultats

results

100
adneal