将元素添加到NavigationBar

时间:2019-01-26 15:06:56

标签: java android uinavigationbar navigationbar

enter image description here

如图所示,有什么方法可以向导航栏中添加元素吗?
我的意思是您看到的第四个元素。

enter image description here

1 个答案:

答案 0 :(得分:0)

据我所知,在不破坏标准Android应用程序的对齐方式的情况下,要在底部栏中添加三个以上的项目是完全不可能的。 更好地制作水平方向的线性布局。或者

您可以使用下面提到的方法停止群集菜单项。您应该将此方法通过“ BottomNavigationView ”调用到“ onCreate ”方法中。

//禁用换档模式(底部导航)的方法

private void disableShiftMode(BottomNavigationView view) {
    BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0);
    try {
        Field shiftingMode = menuView.getClass().getDeclaredField("mShiftingMode");
        shiftingMode.setAccessible(true);
        shiftingMode.setBoolean(menuView, false);
        shiftingMode.setAccessible(false);
        for (int i = 0; i < menuView.getChildCount(); i++) {
            BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i);
            item.setShiftingMode(false);
            *//set once again checked value then view will be updated*
            item.setChecked(item.getItemData().isChecked());
        }
    } catch (NoSuchFieldException e) {
        Log.e("BNVHelper", "Could not get shift mode field!", e);
    } catch (IllegalAccessException e) {
        Log.e("BNVHelper", "Sorry Can not change value!", e);
    }
}

希望它会对您有所帮助。