BottomNavigationView切换菜单项时图标切换不生效问题求助
问题原因
你的BottomNavigationView布局中配置了app:itemIconTint="@drawable/bottom_navigation_color_selector"属性,该属性会对所有导航项的图标做统一着色处理,直接覆盖你为每个图标单独配置的drawable selector的原生颜色,你看到的灰色未选中、蓝色选中效果,实际是bottom_navigation_color_selector这个颜色选择器的效果,和你单独配置的图标selector无关。
解决方案
你可以根据需求选择任意一种方案处理:
保留单独图标selector的方案
直接删除BottomNavigationView布局中的app:itemIconTint="@drawable/bottom_navigation_color_selector"行即可,为了避免主题默认属性干扰,也可以主动设置app:itemIconTint="@null",这样系统就会直接加载你每个图标selector对应的资源,呈现你准备的深蓝选中、浅蓝未选中的预期效果。使用统一着色的优化方案
不需要为每个图标单独配置drawable selector,只需要调整bottom_navigation_color_selector的颜色配置:将未选中状态的颜色改为你要的浅蓝色,选中状态的颜色改为深蓝色,菜单项的android:icon直接用无底色的单色图标资源即可,系统会自动按颜色选择器给图标着色,效果和预期一致,还能减少drawable资源的冗余。
内容的提问来源于stack exchange,提问作者Sid
相关产品推荐
相关产品推荐

