如何在 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);
我想在 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);