我有一个底部导航视图,其中有四个项目(主页,搜索,通知,配置文件)。我想如果用户有一个未读通知的通知项目的图标变成红色。因此,我需要改变图标或颜色图标的通知项目使用JAVA代码在运行时。所以,我的问题是我如何改变图标的底部导航视图在运行时?
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigationView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:menu="@menu/bottom_nav"/>
1条答案
按热度按时间unftdfkk1#
BottomNavigationView
元素扩展了NavigationBarView
,NavigationBarView
包含一个getMenu()
方法,该方法返回一个Menu
示例。一旦获得菜单,就可以使用findItem(id)
或getItem(index)
检索所需的MenuItem
。最后,可以使用各种setIcon*()
方法更改图标。但是,通知应该使用badges来指示,如果需要,可以在运行时直接使用底部导航视图中的
getOrCreateBadge(menuItemId)
方法与徽章交互。