Значок меню ящика навигации отображается неправильно

Я хочу ввести свой настраиваемый значок в меню в навигационном ящике. Однако, когда я запускаю приложение, он отображает только тень значка. Как правильно показать изображение?

Введите описание изображения здесь

Вот xml-файл для меню activity_main_drawer.xml:

<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"> <item android:id="@+id/recent_picture" android:icon="@mipmap/ic_recent" android:title="Import" /> <item android:id="@+id/nav_gallery" android:icon="@drawable/ic_menu_gallery" android:title="Gallery" /> <item android:id="@+id/nav_slideshow" android:icon="@drawable/ic_menu_slideshow" android:title="Slideshow" /> <item android:id="@+id/nav_manage" android:icon="@drawable/ic_menu_manage" android:title="Tools" /> </group> </menu> 

Вот макет xml с видом навигации:

 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:openDrawer="start"> <include layout="@layout/app_bar_main" android:layout_width="match_parent" android:layout_height="match_parent" /> <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:fitsSystemWindows="true" app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer" /> </android.support.v4.widget.DrawerLayout> 

В папке значений есть еще один файл drawables.xml.

 <resources xmlns:android="http://schemas.android.com/apk/res/android"> <item name="ic_recent_picture" type="drawable">@mipmap/ic_recent</item> <item name="ic_menu_gallery" type="drawable">@drawable/ic_menu_gallery</item> <item name="ic_menu_slideshow" type="drawable">@android:drawable/ic_menu_slideshow</item> <item name="ic_menu_manage" type="drawable">@android:drawable/ic_menu_manage</item> <item name="ic_menu_share" type="drawable">@android:drawable/ic_menu_share</item> <item name="ic_menu_send" type="drawable">@android:drawable/ic_menu_send</item> 

Solutions Collecting From Web of "Значок меню ящика навигации отображается неправильно"

Теперь он работает, удаляя эффект оттенка из значка с помощью setItemIconTintList(null) . Поместите строку кода ниже в navigationView .

  NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setItemIconTintList(null); navigationView.setNavigationItemSelectedListener(this); 

Вы пытались перейти на другое изображение, чтобы увидеть, отображается ли оно?

 <item name="ic_recent_picture" type="drawable">@mipmap/ic_recent</item> 

Путь @mipmap содержит правильное изображение?

Если вы все еще не решили проблему, удалив оттенок, вы можете перенести свой файл ресурсов на drawable (используйте Poject View) вместо drawable-anydpi, как я сделал