支持设计的新版本(23.1.0和23.1.1)在NavigationView中打破了菜单
普通菜单
菜单xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="none">
<item
android:id="@+id/navigation_item_1"
android:icon="@drawable/ic_logout"
android:title="@string/navigation_list_log_out" />
<item
android:id="@+id/navigation_item_2"
android:icon="@drawable/ic_logout"
android:title="@string/navigation_list_log_out" />
<item
android:id="@+id/navigation_item_3"
android:icon="@drawable/ic_logout"
android:title="@string/navigation_list_log_out" />
</group>
所以最后一个版本是
compileSdkVersion 23 buildToolsVersion "23.0.1" compile 'com.android.support:design:23.0.1'
也许谷歌知道如何在新版本中快速修复此错误?
答案 0 :(得分:0)
不幸的是,看起来版本23.1.0 - 23.1.1的支持库破坏了android:checkableBehaviour
属性以及menuItem.setChecked(boolean)
方法的行为。
您可能需要关注此AOSP Issue,其中详细说明了这些行为被破坏的原因。
尝试使用mNavView.setItemTextColor(mNavView.getItemTextColor)
之类的方法作为解决方法,如该问题中所建议的那样。
答案 1 :(得分:0)
请将none更改为单身。
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/navigation_item_1"
android:icon="@drawable/ic_logout"
android:title="@string/navigation_list_log_out" />
<item
android:id="@+id/navigation_item_2"
android:icon="@drawable/ic_logout"
android:title="@string/navigation_list_log_out" />
<item
android:id="@+id/navigation_item_3"
android:icon="@drawable/ic_logout"
android:title="@string/navigation_list_log_out" />
</group>
</menu>
答案 2 :(得分:0)
更改&#39; com.android.support:design: 23.0.1 &#39;到&#39; com.android.support:design: 23.1.1 &#39;然后同步项目。该版本确实有效。