2015-10-15 9 views
10

In meiner App möchte ich den Navigationsansicht Menühintergrund ändern, aber ich weiß nicht, wie dies zu tun ist. Alle Posts, die ich gesehen habe, erklären, wie man den Hintergrund jedes Menüelements ändert, aber alles, was ich brauche, ist, den gesamten Hintergrund des Menüs zu ändern.Android Ändern Navigation Ansicht Menü Hintergrund

Das ist, was ich ändern will, den gesamten weißen Hintergrund:

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> 

Gibt es trotzdem den weißen Hintergrund aus dem activity_main_drawer Layout zu ändern?

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> 

Vielen Dank im Voraus.

Antwort

34

Sie können Hintergrund zu Ihrem NavigationView stellen Sie die Farbe zu ändern, wie unten (auf app_white) & für Kopf jede Farbe als Hintergrund von drawer_header_layout gesetzt.

<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

Vielen Dank. Es funktioniert perfekt. – user3065901

+0

aber ich brauche Bildhintergrund, wenn ich so setze, überlappt es sich durch Header – NarendraJi

2

Die obige Methode ist so einfach, wenn Sie viel mehr als das wollen, fügen Sie einfach ein separates Layout in diesem ein.

<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

fügen Sie einfach android:background="@color/yourColor" zum <android.support.design.widget.NavigationView.

Verwandte Themen