导航抽屉菜单子类别

Posted

技术标签:

【中文标题】导航抽屉菜单子类别【英文标题】:Navigation drawer menu sub categories 【发布时间】:2015-09-26 15:38:48 【问题描述】:

我的应用中有一个使用 DrawerLayout 类和 NavigationView 的 Navigation Drawer。现在,我的抽屉通过扩展菜单 xml 文件来显示我的所有类别。我怎样才能得到它,以便其中一些类别被子标题和分隔符分隔?

【问题讨论】:

您应该使用ExpandableListView,然后使用ExpandableListAdapter 将适配器设置为它 我不希望它是可扩展的我只是想要分隔符 【参考方案1】:

我认为此代码将帮助您在项目和子项目之间设置分隔符。看看这个:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">

<group android:id="@+id/grp1" android:checkableBehavior="single" >
    <item
        android:id="@+id/navigation_item_1"
        android:checked="true"
        android:icon="@drawable/ic_home"
        android:title="@string/navigation_item_1" />
</group>

<group android:id="@+id/grp2" android:checkableBehavior="single" >
    <item
        android:id="@+id/navigation_item_2"
        android:icon="@drawable/ic_home"
        android:title="@string/navigation_item_2" />
</group>

快乐编码

【讨论】:

【参考方案2】:

您只需修改现有的菜单 xml 文件即可轻松完成此操作。

您的代码将如下所示:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:id="@+id/group1"
        android:title="title1">
        <menu>
            <item
                android:title="item1" />
            <item
                android:title="item2" />
        </menu>
    </item>

    <item
        android:id="@+id/group2"
        android:title="title2">
        <menu>
            <item
                android:title="item1" />
            <item
                android:title="item2" />
            <item
                android:title="item3" />
        </menu>
    </item>
</menu>

您所做的就是在每个项目中指定一个新菜单并给父项目一个标题!

【讨论】:

以上是关于导航抽屉菜单子类别的主要内容,如果未能解决你的问题,请参考以下文章

是否可能带有子页面的反应导航抽屉?

如何在 vuetify 主抽屉/导航中创建子菜单

如何在 Laravel 的导航菜单中列出类别 - 子类别

WordPress自定义分类父子导航菜单

隐藏导航抽屉菜单项 - Android

子菜单拒绝点击打开