Support库BottomNavigationView不显示图标仅显示文字如何解决?
问题根因
你在菜单XML文件中错误使用了属性:将指定图标资源的android:icon属性,错写为了图标着色属性android:iconTint。系统没有读取到正确的图标资源路径,因此无法显示图标。
解决方法
1. 修正菜单XML属性
将所有菜单项的android:iconTint替换为android:icon,你已经在BottomNavigationView全局配置了app:itemIconTint="@color/white",无需在单个菜单项中重复设置着色属性。
修正后的菜单代码如下:
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/page_1" android:enabled="true" android:icon="@drawable/ic_baseline_home_24" app:showAsAction="ifRoom" android:title="首页"/> <item android:id="@+id/page_2" android:icon="@drawable/ic_baseline_home_24" app:showAsAction="withText" android:title="分类"/> <item android:id="@+id/page_3" app:showAsAction="ifRoom" android:icon="@drawable/user" android:title="我的"/> </menu>
2. 可选校验项
如果修改后仍无法显示图标,可排查以下问题:
- 确认
@drawable/ic_baseline_home_24、@drawable/user等资源文件存在,无拼写错误,且未放在仅适配特定分辨率的drawable目录下 - 若需要实现图标选中/未选中的颜色区分,可将BottomNavigationView的
app:itemIconTint属性设置为selector类型的颜色资源,和当前app:itemTextColor="@drawable/tab_color"的配置逻辑一致 - 确认
@style/Theme.App主题没有覆盖底部导航栏的图标显示相关配置
内容的提问来源于stack exchange,提问作者fathima shifna k
相关产品推荐
相关产品推荐

