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' 然後同步的項目。該版本實際上起作用。

相關問題