如何在菜单中正确显示所选项目? via(灰色背景):
目前:
为什么没有灰色背景?
我的XML菜单:
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<group>
<item
android:id="@+id/night"
android:icon="@drawable/ic_brightness_3_black_24dp"
android:title="@string/navigation_view_item_1" />
<item
android:id="@+id/nearbyParkingPlaces"
android:icon="@drawable/ic_local_parking_black_24dp"
android:title="@string/navigation_view_item_2" />
<item
android:id="@+id/traffic"
android:icon="@drawable/ic_traffic_black_24dp"
android:title="@string/navigation_view_item_3" />
</group>
...
</menu>
我的NavigationItemSelectedListener代码:
navigation.setNavigationItemSelectedListener { menuItem ->
drawerLayout.closeDrawers()
when (menuItem.itemId) {
R.id.night -> if (menuItem.isChecked) {
menuItem.isChecked = false
...
} else {
menuItem.isChecked = true
...
}
R.id.nearbyParkingPlaces -> if (menuItem.isChecked) {
menuItem.isChecked = false
...
} else {
menuItem.isChecked = true
...
}
R.id.traffic -> if (menuItem.isChecked) {
menuItem.isChecked = false
...
} else {
menuItem.isChecked = true
...
}
...
}
false
}
我做错了什么或错过了什么?
如果在android:checkableBehavior="all"
中添加<group>
- 所选项目具有灰色背景,但所选元素未合并。之前选择的项目已重置...我不明白,为什么以及如何修复它?
找到解决方案
答案 0 :(得分:0)
使用选择器作为菜单背景
app:itemBackground="@drawable/activated_background.xml"
你的选择器drawable就像
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false" android:drawable="@drawable/normal"/>
<item android:state_checked="true" android:drawable="@drawable/selected" />
</selector>