我用BottomNavigationView創建了一個活動,它工作正常。如何在BottomNavigationView中隱藏和顯示菜單?
但我無法隱藏菜單項。
我試過這段代碼。
bottomNavigationView.getMenu()。findItem(R.id.tab_email).setVisible(false);
我甚至試圖調用bottomNavigationView.invalidate();
所有輸入值得讚賞。
我用BottomNavigationView創建了一個活動,它工作正常。如何在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);
}
}
}
同樣,如果你在上面的上面的代碼中的特定菜單將是可見的
更新設置itemView.setVisibility(View.VISIBLE);
,而不是itemView.setVisibility(View.GONE);
:容易隱藏/顯示菜單項BottomNavigationMenu
public void hideBottomNavigationItem(int id, BottomNavigationView view) {
BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0);
menuView.findViewById(id).setVisibility(View.GONE);
}
public void showBottomNavigationItem(int id, BottomNavigationView view) {
BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0);
menuView.findViewById(id).setVisibility(View.VISIBLE);
}
bottomNavigation.getMenu().removeItem(R.id.nav_user_download);
removeItem(int menu_item_id),請調用此方法。
我嘗試隱藏/顯示方法@Sachin饒,但它工作不是很好。所以我終於找到了這種方式,這對我來說很好。