【问题标题】:Navigation Drawer: styling submenu / title导航抽屉:样式子菜单/标题
【发布时间】:2016-03-01 17:31:57
【问题描述】:

我正在尝试按照google 的规范设置导航抽屉的样式。但我无法获得这个红色标记的子菜单:

这是我当前的菜单结构。我通过将其分成几组得到了分隔符,但我没有得到子菜单的标题。

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

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

        <item
            android:id="@+id/alle_termine"
            android:checked="false"
            android:icon="@drawable/ic_assessment_24dp"
            android:title="Alle Termine" />
    </group>
    <group
        android:id="@+id/second_group"
        android:visible="false">

        <item
            android:title="GROUPS"
            android:enabled="false"
            android:checkable="false">
        </item>

    </group>
</menu>

xml 中有解决方案还是可以通过编程方式完成?两者都可以。

【问题讨论】:

    标签: android xml navigation-drawer material-design android-navigationview


    【解决方案1】:

    你需要一个类似这样的 xml:

    <group android:id="@+id/some_group_id">
        <item android:id="@+id/some_item_id"
            android:title="Subheader">
            <menu>
                <item
                    android:id="@+id/item_id_1"
                    android:icon="@drawable/mail"
                    android:title="@string/all_mail" />
    
                <item
                    android:id="@+id/item_id_2"
                    android:icon="@drawable/trash"
                    android:title="@string/trash" />
    
                <item
                    android:id="@+id/item_id_3"
                    android:icon="@drawable/spam"
                    android:title="@string/spam" />
            </menu>
        </item>
    </group>
    

    创建一个组并向其中添加一个项目。项目的标题决定了您想要的子标题的标题。然后,您可以将带有项目的常规菜单添加到子标题项。

    【讨论】:

      【解决方案2】:

      @kingdonnaz 的回答很有效。但就我而言,我正在动态编辑菜单,所以我的解决方案是在代码中添加子菜单:

      SubMenu subMenu = menu.addSubMenu(R.id.second_group, 1, 0, "Submenutitel");
      
      subMenu.add(R.id.second_group, s, 1, "GROUP1").setIcon(R.drawabel.ic_test);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-27
        • 2015-09-26
        • 1970-01-01
        • 2014-08-20
        • 2016-01-22
        • 1970-01-01
        • 1970-01-01
        • 2016-11-08
        相关资源
        最近更新 更多