Android BottomNavigationBar 每个选项卡的唯一图标色调列表?

Android BottomNavigationBar Unique Icon Tint List for each tab?

我一直找不到这方面的任何例子,也找不到问同样事情的任何问题,所以我不确定它是否可能。我要求底部导航栏中的每个图标都是不同的颜色。所以 4 个选项卡、4 个图标、4 种颜色。在过去,我从来不需要超越 iconTintList 来修改状态,因为我的项目共享选定和取消选定的颜色。

是否可以在每个选项卡项上设置单独的 TintList?我通过谷歌搜索得到的另一个想法是将 IconTintList 设置为 null,然后让我的每个图标在图标本身中都有自己的颜色。如果这可行,我将失去状态控制,但我可以强制它在图标获得或失去对正确彩色图标的关注时自行更改图标。不过这似乎有点老套。

编辑:我可以确认将 TintList 设置为 null 并使用适当颜色图标的解决方案。希望我不必走这条路,但如果这是唯一的路,看起来它会满足我的要求。

谢谢

您可以使用此布局(检查标记的答案)然后您可以根据您的要求轻松修改每个项目。

您可以创建一个 colorStateList 然后尝试:

bottomNavigation.getMenu().getItem(0).setIconTintList(iconsColorStates);

或:

bottomNavigation.getMenu().findItem(R.id.item).setIconTintList(iconsColorStates);

并复制到每个菜单项...我认为它会起作用。