Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Disable icon colorStateList in NavigationView

In my app today I have icons which doesn't just have a single color, but in some cases two colors depending on the data state in my app. This means I can't use the default tinting behavior in NavigationView.

It looks like with the new NavigationView, unless I specify a ColorStateList for my icons used in the list, a default ColorStateList will be made for me which uses my colorPrimary etc defined in my theme.

Is there no way for me to force NavigationView to stop tinting my icons?

like image 423
tskulbru Avatar asked Jun 03 '15 13:06

tskulbru


1 Answers

Is there no way for me to force NavigationView to stop tinting my icons?

There sure is. You can do so programmatically using NavigationView.setItemIconTintList.

And you can do so in your XML layout by using the NavigationView.itemIconTint attribute.

Programmatically

yourNavigationView.setItemIconTintList(null); 

From XML

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

Results

results

like image 105
adneal Avatar answered Sep 18 '22 22:09

adneal