1


支持设计(23.1.0和23.1.1)的新版本中NavigationView
普通菜单
enter image description here支持设计v.23.1.0和v.23.1.1在NavigationView破产菜单

爆发菜单

菜单在新的API版本
enter image description here

菜单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' 

也许谷歌知道如何快速修复新版本中这个bug?

+0

你的texviews和图标有颜色/色调?你仍然可以选择它们吗? (即使不可见) –

+0

@MarianoZorrilla我可以选择,但文字不可见。所以我试图在xml和编程设置文本和背景颜色,但没有成功。 –

+0

适配器呢?一切都很好吗?奇怪的。编辑:你有没有试着回到23.0.1?如果23.1.1崩溃,可能肯定是Google的问题/错误。 –

回答

0

不幸的是,它看起来像支持库的版本23.1.0 - 23.1.1打破了android:checkableBehaviour属性的行为以及menuItem.setChecked(boolean)方法。

您可能需要关注这个AOSP Issue,其中详细说明了这些行为被打破的原因。

尝试调用像mNavView.setItemTextColor(mNavView.getItemTextColor)这样的解决方法,就像在该问题中推荐的那样。

0

请将none改为single。

<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> 
0

更改 'com.android.support:design:23.0.1' 到 'com.android.support:design:23.1.1' 然后同步的项目。该版本实际上起作用。

相关问题