我制作了一个由此.xml填充的导航视图:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title="Menu A"
>
<menu
>
<group
android:checkableBehavior="single"
android:orderInCategory="2"
android:id="@+id/gr"
>
<item
android:id="@+id/a1"
android:title="A1"
/>
</group>
</menu>
</item>
<item android:title="Menu B"
android:orderInCategory="3"
>
<menu>
<group android:checkableBehavior="single">
<item
android:id="@+id/b1"
android:title="B1"
/>
<item
android:id="@+id/b2"
android:title="B2"
/>
<item
android:id="@+id/b3"
android:title="B3"
/>
</group>
</menu>
</item>
我想以编程方式将一项添加到NavigationView中。 我正在使用以下代码行添加该项:
MenuItem item = menu.add(R.id.gr,Menu.NONE,2,“A2”);
在该项目(A2)上方出现分隔符。我不想要这个分隔符。我该如何删除它?
注意:我不想让分隔符的颜色透明。这将使所有分隔符消失。
答案 0 :(得分:1)
将新项目添加到SubMenu
,而不是Menu
。因此,项目上方的分隔符不会出现。
Menu menu = navigationView.getMenu();
MenuItem menuItem = menu.getItem(0);
SubMenu subMenu = menuItem.getSubMenu();
subMenu.add(R.id.gr, Menu.NONE, 2, "A2");
subMenu.setGroupCheckable(R.id.gr, true, true);
如果要为组定义可检查行为,请调用subMenu.setGroupCheckable(R.id.gr, true, true)
。这应该在添加组的项目后调用。