1


新しいバージョンのサポート デザイン (23.1.0 および 23.1.1) では、NavigationView の
通常メニューのメニューが壊れていました。
ここに画像の説明を入力

新しい API バージョンのメニュー
ここに画像の説明を入力

メニュー 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"
「com.android.support:design:23.0.1」をコンパイルします

Google は、新しいバージョンでこのバグをすばやく修正する方法を知っているのでしょうか?

4

3 に答える 3

0

「com.android.support:design: 23.0.1」を「com.android.support:design: 23.1.1 」に変更し、プロジェクトを同期します。バージョンは実際に動作します。

于 2016-10-31T18:48:30.917 に答える
0

残念ながら、サポート ライブラリのバージョン 23.1.0 ~ 23.1.1 では、android:checkableBehaviour属性とmenuItem.setChecked(boolean)メソッドの動作が壊れていたようです。

これらの動作が壊れている理由を詳しく説明している、このAOSP 問題に注意してください。

mNavView.setItemTextColor(mNavView.getItemTextColor)その問題で推奨されているように、回避策として次のようなものを呼び出してみてください。

于 2015-11-28T05:00:42.560 に答える
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>
于 2016-01-18T15:24:01.897 に答える