Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在BottomNavigationView中隐藏和显示菜单?_Android_Dynamic_Menu_Bottomnavigationview - Fatal编程技术网

Android 如何在BottomNavigationView中隐藏和显示菜单?

Android 如何在BottomNavigationView中隐藏和显示菜单?,android,dynamic,menu,bottomnavigationview,Android,Dynamic,Menu,Bottomnavigationview,我已经用BottomNavigationView创建了一个活动,它运行良好 但我无法隐藏菜单项 我试过这个代码 bottomNavigationView.getMenu().findItem(R.id.tab_email).setVisible(false) 我甚至尝试调用bottomNavigationView.invalidate() 非常感谢您的所有意见。这对我很有用: /** * Hides specified item in BottomNavigation View * * @

我已经用BottomNavigationView创建了一个活动,它运行良好

但我无法隐藏菜单项

我试过这个代码

bottomNavigationView.getMenu().findItem(R.id.tab_email).setVisible(false)

我甚至尝试调用bottomNavigationView.invalidate()


非常感谢您的所有意见。

这对我很有用:

/**
 * Hides specified item in BottomNavigation View
 *
 * @param id   - id of the menu item - example R.id.profile
 * @param view - instance of BottomNavigationView
 */
public void hideBottomNavigationItem(int id, BottomNavigationView view) {
    BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0);
    for (int i = 0; i < menuView.getChildCount(); i++) {
        BottomNavigationItemView itemView = (BottomNavigationItemView) menuView.getChildAt(i);
        if (itemView.getId() == id) {
            itemView.setVisibility(View.GONE);
        }
    }
}
removietem(int-menu\u-item\u-id)调用此方法


我尝试过隐藏/显示方法@Sachin Rao,但效果不是很好。所以我终于找到了这个方法,它对我来说很有效

您可以使用以下示例:

BottomNavigationMenuView menuView = rootView.findViewById(R.id.my_bottom_nav_menu);
menuView.findViewById(R.id.action_menu_need_to_hide).setVisibility(View.GONE);
    bottomNavigation.getMenu().removeItem(R.id.nav_user_download);
BottomNavigationMenuView menuView = rootView.findViewById(R.id.my_bottom_nav_menu);
menuView.findViewById(R.id.action_menu_need_to_hide).setVisibility(View.GONE);