Navigation drawer item icon not showing original colour Navigation drawer item icon not showing original colour xml xml

Navigation drawer item icon not showing original colour


I found the answer here: https://stackoverflow.com/a/30632980/875249

To avoid the link its pretty straightforward:

    mNavigationView.setItemIconTintList(null);

This disables all state based tinting, but you can also specify your own list too. It worked great for me!

Here is where you can get the details on creating a color state list, but its pretty simple too: http://developer.android.com/reference/android/content/res/ColorStateList.html

    <selector xmlns:android="http://schemas.android.com/apk/res/android">        <item android:state_checked="true" android:color="@color/primary" />        <item android:state_checked="false" android:color="@android:color/white" />    </selector>


Use

    mNavigationView.setItemIconTintList(null);

it's right. Also If all your icons in one color scheme (i had all white)you can setup through xml file - app:itemIconTint="@android:color/white"

My case:

<android.support.design.widget.NavigationView    android:id="@+id/nav_view"    android:layout_width="wrap_content"    android:layout_height="match_parent"    android:layout_gravity="start"    android:clickable="true"    app:headerLayout="@layout/nav_header_main"    app:itemTextColor="@android:color/white"    app:menu="@menu/activity_main_drawer"    android:background="@android:color/black"    app:itemIconTint="@android:color/white"    />


I've tried something similar in one of my app. And yes, it appears that the icon color doesn't change. But I've managed to do with another workaround. Here's my ic_browncircle.xml

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="oval"    android:tint="@color/brown"    >  <size      android:height="3dp"      android:width="3dp"      />  <solid android:color="@color/brown"/></shape>

Which I believe is something similar to you but it doesn't have any effect and doesn't change the color.

So what I did is this.

navigationView.getMenu()    .findItem(R.id. navigation_item_1)    .getIcon()    .setColorFilter(Color.parseColor("#b69260"), PorterDuff.Mode.SRC_ATOP);

And it seems working. Here's the result.

enter image description here