28

アイテムのナビゲーション ビュー メニューの色を変更しようとしています。

スタイル.xml

<item name="android:activatedBackgroundIndicator">@drawable/activated_background</item>

activate_background.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@color/White" />
    <item android:state_focused="true" android:drawable="@color/White" />
    <item android:state_activated="true" android:drawable="@color/White" />
    <item android:drawable="@android:color/transparent" />
</selector>

drawer.xml :

<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">

<group
    android:id="@+id/group_1">
    <item
        android:id="@+id/drawer_menu_account"
        android:checked="false"
        android:title="@string/menu_account"
        android:icon="@drawable/ic_account_grey600_24dp" />
    <item
        android:id="@+id/drawer_menu_my_post"
        android:checked="false"
        android:title="@string/menu_my_post"
        android:icon="@drawable/ic_pin_grey600_24dp" />
</group>
[...]

背景色は変わりません..何が間違っていますか?

4

5 に答える 5

32

styles.xml ファイルで、ナビゲーション ビュー アイテムの背景にドローアブルを設定していません。Navigation View ウィジェットを含む XML レイアウト ファイルを開き、次の行をウィジェットの属性に追加します。

app:itemBackground="@drawable/activated_background.xml"

「アプリ」ポインターに問題がある場合は、次の行も追加します。

xmlns:app="http://schemas.android.com/apk/res-auto"

これは、選択したリスト項目の背景色のみを変更することに注意してください。アイコンとテキストの色も変更したい場合は、app:itemTextColor代わりに属性を使用してください。

于 2015-07-10T08:38:56.870 に答える
19


以下のコードは私のナビビューでうまく動作します:

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    android:background="@color/nav.background"
    app:menu="@menu/menu_drawer"
    app:itemBackground="@drawable/nav_item_background"
    app:itemTextColor="@drawable/nav_item_text"/>

drawable/nav_item_background.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_pressed="true" android:drawable="@color/nav.item.background" />
  <item android:state_checked="true" android:drawable="@color/nav.item.background" />
  <item android:state_focused="true" android:drawable="@color/nav.item.background" />
  <item android:state_activated="true" android:drawable="@color/nav.item.background" />
  <item android:drawable="@color/nav.item.background.default" />
</selector>

drawable/nav_item_text.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:color="@android:color/white" android:state_checked="true" />
  <item android:color="#bdbdbd" />
</selector>
于 2016-03-20T06:07:57.510 に答える