2015-10-15 6 views
10

私のアプリでは、ナビゲーションビューのメニューの背景を変更したいのですが、これを行う方法はわかりません。私が見たすべての記事は、各メニュー項目の背景を変更する方法を説明していますが、必要なのはメニューの背景全体を変更することだけです。Android Change Navigation Viewメニューの背景

これは私が、全体白の背景を変更したいものです。

enter image description here

activity_main_drawer.xml:

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

<group android:checkableBehavior="single"> 
    <item android:id="@+id/nav_camara" android:icon="@android:drawable/ic_menu_camera" 
     android:title="Import" /> 
    <item android:id="@+id/nav_gallery" android:icon="@android:drawable/ic_menu_gallery" 
     android:title="Gallery" /> 
    <item android:id="@+id/nav_slideshow" android:icon="@android:drawable/ic_menu_slideshow" 
     android:title="Slideshow" /> 
    <item android:id="@+id/nav_manage" android:icon="@android:drawable/ic_menu_manage" 
     android:title="Tools" /> 
</group> 

<item android:title="Communicate"> 
    <menu> 
     <item android:id="@+id/nav_share" android:icon="@android:drawable/ic_menu_share" 
      android:title="Share" /> 
     <item android:id="@+id/nav_send" android:icon="@android:drawable/ic_menu_send" 
      android:title="Send" /> 
    </menu> 
</item> 

</menu> 

がactivity_main_drawerレイアウトから白色の背景を変更するにはとにかくありますか?

activity_main.xml:事前に

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_layout" 
android:layout_width="match_parent" android:layout_height="match_parent" 
android:fitsSystemWindows="true" tools:openDrawer="start"> 

<include layout="@layout/app_bar_main" android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

<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" 
    app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer" /> 

</android.support.v4.widget.DrawerLayout> 

感謝。

答えて

34

NavigationViewに背景を設定すると、下のように色を変更できます(app_whiteに設定)&は、任意の色をdrawer_header_layoutの背景として設定します。

<android.support.design.widget.NavigationView 
     android:id="@+id/adcl_navigation_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:background="@color/app_white" 
     app:headerLayout="@layout/drawer_header_layout" 
     app:itemIconTint="@color/app_secondary_text" 
     app:itemTextColor="@color/app_secondary_text" 
     app:menu="@menu/menu_drawer" 
     app:theme="@style/ThemeOverlay.AppCompat.Light" /> 
+0

ありがとうございます。完璧に動作します。 – user3065901

+0

しかし、私はこのように設定すると、画像の背景が必要です、そのオーバーラップヘッダ – NarendraJi

2

上記の方法は非常に簡単です。これ以上のものを希望する場合は、これに別のレイアウトを含めてください。

<android.support.design.widget.NavigationView 
    android:id="@+id/navigation" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:fitsSystemWindows="true"> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:background="#ffffff"/> 
     <ListView 
      android:id="@+id/lst_menu_items" 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:background="#ffffff" 
      android:layout_weight="1" /> 

</android.support.design.widget.NavigationView> 
2

だけ<android.support.design.widget.NavigationViewandroid:background="@color/yourColor"を追加します。