42

Java でナビゲーション ドロワーの背景色を設定したかったのですが、setBackgroundColor同様のメソッドはすべて効果がないようです。XML 行のみandroid:background="@color/mycolor"が機能しています。xml 行を削除していずれかの方法を試してみると、ドロワーは透過的なままです。

何か案は?

4

3 に答える 3

85

activity_main.xml に以下を含めます

<android.support.design.widget.NavigationView
    android:id="@+id/navigation_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:headerLayout="@layout/navigation_drawer_header"
    app:menu="@menu/menu_drawer"
    android:background="@color/color_navigation_list_background"
    app:itemIconTint="@color/color_selector_navigation_item"
    app:itemTextColor="@color/color_selector_navigation_item"/>
于 2015-11-02T08:24:57.527 に答える
28

私は自分の問題を解決しました。

DrawerLayout背景を設定したいのは内部ではなく、内部であることを完全に忘れていましたListView

投稿にコードを追加せずに、皆さんにとって少し難しくしたことは認めます-.-'

したがって、代わりに:

private DrawerLayout mDrawerLayout;
(...)
mDrawerLayout.setBackgroundResource(int);

私はこれをしなければなりませんでした:

private ListView mDrawerList;
(...)
mDrawerList.setBackgroundResource(int);
于 2013-06-13T17:33:42.850 に答える