Disable icon colorStateList in NavigationView

19,535

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

Share:
19,535
tskulbru
Author by

tskulbru

Native mobile developer for both Android and iOS

Updated on June 07, 2022

Comments

  • tskulbru
    tskulbru almost 2 years

    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?