Dans mon application, je veux changer l'arrière-plan du menu d'affichage de navigation, mais je ne sais pas comment faire. Tous les messages que j'ai regardés expliquent comment changer l'arrière-plan de chaque élément de menu, mais tout ce dont j'ai besoin est de changer l'arrière-plan entier du menu.
C'est ce que je veux changer, tout le fond blanc:
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>
Est-il possible de changer le fond blanc de la disposition 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>
Merci d'avance.
Vous pouvez définir l'arrière-plan sur votre NavigationView
pour changer sa couleur comme ci-dessous (défini sur app_white) et pour l'en-tête, définissez n'importe quelle couleur comme arrière-plan de tiroir_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" />
ajoutez simplement Android:background="@color/yourColor"
à la <Android.support.design.widget.NavigationView
.
La méthode ci-dessus est si facile, si vous voulez bien plus que cela, incluez simplement une mise en page distincte dans cela.
<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>