我使用以下代码段隐藏了NavigationDrawer中子菜单项的可见性,但它只是删除了文本,并没有删除抽屉中包含的空间。我想完全删除商品,而不仅仅是可见性。
mNavigationView = (NavigationView) findViewById(R.id.navigationViewReports);
mNavigationView.setNavigationItemSelectedListener(Reports_DrawerMain.this);
mNavigationView.getMenu().findItem(R.id.reportsMenu).getSubMenu().setGroupVisible(R.id.limitations, false);
for (int i = 0; i < mNavigationView.getMenu().findItem(R.id.reportsMenu).getSubMenu().size(); i++) {
Log.I(TAG, "Menu: " + mNavigationView.getMenu().findItem(R.id.reportsMenu).getSubMenu().getItem(i));
}
mNavigationView.refreshDrawableState();
但是当我使用删除组功能时,它不会自行删除它。我想从菜单中删除该项目,使其不占用任何空间。
mNavigationView.getMenu().findItem(R.id.reportsMenu).getSubMenu().removeGroup(R.id.limitations);
使用支持库编译&#39; com.android.support:support-v4:23.1.1&#39;
答案 0 :(得分:0)
所以我只需要写另一行,它会显示更新的结果。
mNavigationView.inflateMenu(R.menu.temp);
其中temp是一个没有项目的xml。
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
</menu>
这可能不是一个正确的解决方案,但它可以胜任。