android - 以编程方式将 MenuItem 添加到特定位置的菜单或组

标签 android menuitem android-navigationview

我有一个

<android.support.design.widget.NavigationView
  app:menu="@menu/drawer"
/>

具有以下菜单项:

<item
    android:id="@+id/main_item"
    android:icon="@drawable/ic_menu_main"
    android:title="@string/app_name"/>

<group
    android:id="@+id/some_group"
    android:checkableBehavior="single"/>

<item
    android:id="@+id/teams_item"
    android:icon="@drawable/ic_menu_teams"
    android:title="@string/teams"/>

现在我想将一个项目添加到 some_group 或其下方。

我试过:

MenuItem mi = menu.add( R.id.soume_group, someId, NONE, "some name" );

MenuItem mi = menu.add( R.id.soume_group, someId, 2, "some name" );

但项目被添加在菜单的底部。

如何解决我的问题?

TIA

最佳答案

您可以使用orderInCategory 来定义顺序

    <item
        android:id="@+id/main_item"
        android:icon="@drawable/ic_menu_main"
        android:orderInCategory="100"   
        android:title="@string/app_name"/>

    <item
        android:id="@+id/teams_item"
        android:icon="@drawable/ic_menu_teams"
        android:orderInCategory="1000"      
        android:title="@string/teams"/>

如果你想在 main_itemteams_item 之间插入,你可以使用 orderInCategory 介于

// 500 is between main_item(100) and teams_item(1000)
MenuItem mi = menu.add( NONE, someId, 500, "some name" ); 

关于android - 以编程方式将 MenuItem 添加到特定位置的菜单或组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33971541/

相关文章:

java - 在 Android 上实现 ONVIF WS-Discovery

android - 关闭对话框导致 Activity 完成

delphi - TMainMenu 中的单选项目不使用点,而是使用复选标记

java - 使用首选项 MenuItem SWT

菜单图标上的android导航 View 徽章

android - Android Marshmallow (6.0) 上的 vibrate_when_ringing

android - 在 Android Studio 3.0 中获取 Android 测试代码覆盖率

WPF 菜单项.CommandTarget

java - 抽屉导航需要时间打开和关闭

android - 带导航图的抽屉导航不工作