2015-10-15 15 views
10

मेरे ऐप में मैं नेविगेशन व्यू मेनू पृष्ठभूमि बदलना चाहता हूं, लेकिन मुझे नहीं पता कि यह कैसे करें। मैंने जो भी पोस्ट देखा है, वह बताता है कि प्रत्येक मेनू आइटम पृष्ठभूमि को कैसे बदला जाए, लेकिन मुझे बस मेनू की पूरी पृष्ठभूमि को बदलना है।एंड्रॉइड चेंज नेविगेशन व्यू मेनू पृष्ठभूमि

यह क्या मैं बदलने के लिए, पूरे सफेद पृष्ठभूमि चाहते हैं:

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.NavigationView करने के लिए android:background="@color/yourColor" जोड़ें।

संबंधित मुद्दे