CardView内Bottom Navigation非选中图标不显示问题求助
检查图标颜色配置
在res/color目录下新建bottom_nav_icon_color.xml颜色选择器文件,明确设置选中和未选中状态的图标颜色:<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/选中状态颜色" android:state_checked="true"/> <item android:color="@color/未选中状态颜色" android:state_checked="false"/> </selector>接着在布局文件的BottomNavigationView中引用这个颜色选择器:
<com.google.android.material.bottomnavigation.BottomNavigationView ... app:itemIconTint="@color/bottom_nav_icon_color" app:itemTextColor="@color/bottom_nav_icon_color"/>调整颜色对比度
如果CardView的背景色和未选中图标颜色过于接近,直接修改CardView的app:cardBackgroundColor属性,或者调整未选中图标的颜色值,确保两者有明显视觉区分。验证Menu配置
打开对应的menu文件(如res/menu/bottom_nav_menu.xml),检查每个item的android:icon属性是否正确引用了图标资源,避免使用空资源或错误ID:<menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/home" android:icon="@drawable/ic_home" android:title="首页"/> <!-- 其他导航项同理配置 --> </menu>修复主题样式冲突
若全局主题的颜色属性干扰了BottomNavigationView的显示,可为其单独设置主题:<com.google.android.material.bottomnavigation.BottomNavigationView ... android:theme="@style/ThemeOverlay.MaterialComponents.BottomNavigationView"/>也可在全局主题中单独配置BottomNavigationView的样式:
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar"> <item name="bottomNavigationStyle">@style/CustomBottomNavStyle</item> </style> <style name="CustomBottomNavStyle" parent="Widget.MaterialComponents.BottomNavigationView"> <item name="itemIconTint">@color/bottom_nav_icon_color</item> </style>
内容的提问来源于stack exchange,提问作者LORD SHIVA PRODUCT
相关产品推荐
相关产品推荐

