从NavigationView中移除分割线

3

我创建了一个导航视图,使用以下的 .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)上面出现了一个分隔符。我不想要那个分隔符。如何删除它?

enter image description here

注意: 我不想把我的分隔符颜色设置为透明。那样会使所有的分隔符消失。


可能是remove line divider from NavigationView android的重复问题。 - Sergey Shustikov
1个回答

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)。这应该在组的项目添加后调用。

我们如何在XML中实现这个? - Adi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接