如何在 NavigationView 中显示可绘制对象

How to show drawable in NavigationView

我想在 NavigationView 中显示一个带有圆形背景的 drawable 图标 我为图像创建了一个圆形棕色背景,但我得到的是灰色圆形视图,结果不知道为什么?任何人都知道为什么会发生这种情况以及如何获得预期的结果?

显示圆形背景图标的可绘制代码,icon_view.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:shape="oval">
        <solid android:color="#785125"/>
    </shape>
 </item>
 <item
    android:drawable="@drawable/ic_icon"
    android:bottom="20dp"
    android:left="20dp"
    android:right="20dp"
    android:top="20dp"/>
</layer-list> 

结果:

NavigationView 的结果如下所示:

我弄清楚了问题和解决方案,所以发布解决方案可能会帮助某些人减少 margin 的绘制:

 <?xml version="1.0" encoding="utf-8"?>
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 <item>
 <shape android:shape="oval">
    <solid android:color="#785125"/>
  </shape>
  </item>
  <item
    android:drawable="@drawable/ic_action_settings"
    android:bottom="5dp"
    android:left="5dp"
    android:right="5dp"
    android:top="5dp"/>
  </layer-list> 

并在 java 代码中将图标色调设置为空

  navigationView.setItemIconTintList(null);