如何在点击时标记抽屉导航中的子菜单?
how to make sub-menu in drawer navigation marked when it's clicked?
我用这个drawer_menu.xml做了一个导航抽屉,代码是:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view">
<group android:checkableBehavior="single">
<item
android:id="@+id/home"
android:icon="@drawable/ic_home"
android:title="Home"></item>
<item
android:id="@+id/profile"
android:icon="@drawable/ic_profil"
android:title="Profile"></item>
</group>
<item android:title="Communicate">
<menu>
<item
android:id="@+id/message"
android:icon="@drawable/ic_message"
android:title="Message"></item>
<item
android:id="@+id/share"
android:icon="@drawable/ic_share"
android:title="Share"></item>
</menu>
</item>
</menu>
但是,当我单击子类别中的消息菜单项时,它没有被标记,而是只标记了不在子类别中的项目。像下面这样:
click to see the image
如果有人能提供帮助,我会很高兴 :) 谢谢。
和你一样,3 items
与第 3 个项目(通信)将有 sub items
,所以你需要在那个子项目下添加 <group android:checkableBehavior="single">
,你也关闭了你的标签只有 2 个项目(主页、个人资料),您没有包括第 3 个项目。尝试在最后关闭它,就像我在下面的代码中所做的那样:
<group android:checkableBehavior="single">
<item
android:id="@+id/home"
android:icon="@drawable/ic_home"
android:title="Home"></item>
<item
android:id="@+id/profile"
android:icon="@drawable/ic_profil"
android:title="Profile"></item>
<item android:title="Communicate">
<menu>
<group android:checkableBehavior="single">//selecting one item from group
<item
android:id="@+id/message"
android:icon="@drawable/ic_message"
android:title="Message"></item>
<item
android:id="@+id/share"
android:icon="@drawable/ic_share"
android:title="Share"></item>
</group>
</menu>
</item>
</group>//add this
我用这个drawer_menu.xml做了一个导航抽屉,代码是:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view">
<group android:checkableBehavior="single">
<item
android:id="@+id/home"
android:icon="@drawable/ic_home"
android:title="Home"></item>
<item
android:id="@+id/profile"
android:icon="@drawable/ic_profil"
android:title="Profile"></item>
</group>
<item android:title="Communicate">
<menu>
<item
android:id="@+id/message"
android:icon="@drawable/ic_message"
android:title="Message"></item>
<item
android:id="@+id/share"
android:icon="@drawable/ic_share"
android:title="Share"></item>
</menu>
</item>
</menu>
但是,当我单击子类别中的消息菜单项时,它没有被标记,而是只标记了不在子类别中的项目。像下面这样:
click to see the image
如果有人能提供帮助,我会很高兴 :) 谢谢。
和你一样,3 items
与第 3 个项目(通信)将有 sub items
,所以你需要在那个子项目下添加 <group android:checkableBehavior="single">
,你也关闭了你的标签只有 2 个项目(主页、个人资料),您没有包括第 3 个项目。尝试在最后关闭它,就像我在下面的代码中所做的那样:
<group android:checkableBehavior="single">
<item
android:id="@+id/home"
android:icon="@drawable/ic_home"
android:title="Home"></item>
<item
android:id="@+id/profile"
android:icon="@drawable/ic_profil"
android:title="Profile"></item>
<item android:title="Communicate">
<menu>
<group android:checkableBehavior="single">//selecting one item from group
<item
android:id="@+id/message"
android:icon="@drawable/ic_message"
android:title="Message"></item>
<item
android:id="@+id/share"
android:icon="@drawable/ic_share"
android:title="Share"></item>
</group>
</menu>
</item>
</group>//add this