使用Icon和Title将MenuItem添加到NavigationView?

pim*_*ato 6 android menuitem drawerlayout navigationview

现在我正在尝试将新的Design Support libary(22.2.1)中的DrawerLayout/NavigationView实现到我的应用程序中.我已经在互联网上搜索过,特别是在stackoverflow上如何将MenuItem添加到带有图标和标题的子菜单.我知道可以添加带有标题图标的menuitem .

像那样:

        Menu m = mNavigationView.getMenu();
        m.add(R.id.groupID,R.id.menuItemID,orderNumber,"title");
Run Code Online (Sandbox Code Playgroud)

但这只是一个带有标题的MenuItem,没有Icon.是否可以添加带有标题图标的MenuItem ?

小智 18

首先从NavigationView获取菜单:

Menu menu = mNavigationView.getMenu();
Run Code Online (Sandbox Code Playgroud)

然后将您的项目添加到菜单中,记得返回MenuItem,以便稍后添加图标:

MenuItem item = menu.add(groupId, menuItemId, Order, "Menu Item 1 Title");
item.setIcon(R.drawable.ic_some_menu_item_icon); // add icon with drawable resource
Run Code Online (Sandbox Code Playgroud)


小智 3

创建菜单为

<menu xmlns:android="http://schemas.android.com/apk/res/android">

<item
     android:id="@+id/nav_home"
     android:icon="@drawable/ic_dashboard"
     android:title="Home" />

 <item android:title="Sub items">
    <menu>
        <item
            android:icon="@drawable/ic_dashboard"
            android:title="Sub item 1" />
        <item
            android:icon="@drawable/ic_forum"
            android:title="Sub item 2" />
    </menu>
</item>
</menu>
Run Code Online (Sandbox Code Playgroud)

这是示例应用程序

https://github.com/chrisbanes/cheesesquare

  • 抱歉,我从未提到过我想以编程方式完成此操作。这就是为什么我只发布java代码。 (2认同)