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.