菜单项会添加到组外

时间:2016-04-13 11:53:39

标签: android xml menu

我有一个非常漂亮的NavigationView菜单。 此菜单包含两个组menu_topmenu_bottom

相关菜单XML:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:checkableBehavior="single"
        android:id="@+id/menu_top">
        <item
            android:id="@+id/nav_frontpage"
            android:icon="@android:drawable/ic_menu_view"
            android:title="@string/menu_home" />
    </group>
    <group android:checkableBehavior="single"
        android:id="@+id/menu_bottom">
        <item
            android:id="@+id/nav_login"
            android:icon="@android:drawable/ic_secure"
            android:title="@string/menu_login"
            />
        <item
            android:id="@+id/nav_register"
            android:icon="@android:drawable/ic_menu_view"
            android:title="@string/menu_register" />
    </group>
</menu>

我尝试向menu_top组添加多个项目,但这不起作用。 它会将其添加到menu_bottom组下方。您可以看到这一点,因为我的注销按钮位于两行之间,因此在此按钮上方是一个组,此按钮下方是一个组。

相关的Java代码:

Menu mainMenu = navigationView.getMenu();
        for(PageModel page : pages) {
            MenuItem pageButton = mainMenu.add(R.id.menu_top,Menu.NONE, Menu.NONE,page.title.rendered);
        }

截图: Situation

1 个答案:

答案 0 :(得分:2)

试试这个:android:orderInCategory="999"作为底层组。
代码如下所示:

 <menu xmlns:android="http://schemas.android.com/apk/res/android">
        <group android:checkableBehavior="single"
            android:id="@+id/menu_top">
            <item
                android:id="@+id/nav_frontpage"
                android:icon="@android:drawable/ic_menu_view"
                android:title="@string/menu_home" />
        </group>
        <group android:checkableBehavior="single"
            android:id="@+id/menu_bottom"
            android:orderInCategory="999">
            <item
                android:id="@+id/nav_login"
                android:icon="@android:drawable/ic_secure"
                android:title="@string/menu_login"
                />
            <item
                android:id="@+id/nav_register"
                android:icon="@android:drawable/ic_menu_view"
                android:title="@string/menu_register" />
        </group>
    </menu>