私のアプリでは、ナビゲーションビューメニューの背景を変更したいのですが、これを行う方法がわかりません。私が見たすべての投稿は、各メニュー項目の背景を変更する方法を説明していますが、必要なのはメニューの背景全体を変更することだけです。
これは私が変更したいものです、白い背景全体:
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>
前もって感謝します。
NavigationView
に背景を設定して、以下のように色を変更することができます(app_whiteに設定)&headerには、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" />
Android:background="@color/yourColor"
を<Android.support.design.widget.NavigationView
に追加するだけです。
上記の方法は非常に簡単です。これよりもはるかに必要な場合は、これに別のレイアウトを含めるだけです。
<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>