抽屉中标题项的颜色变化

时间:2017-02-10 15:41:35

标签: java android xml android-studio material-design

相同的代码相同的属性,但抽屉菜单项中的输出不同!我正在使用两个模拟器,其中一个是API级别19,另一个是API级别23,我标出了输出的不同视图。在抽屉菜单中,我使用了一个标题名称,颜色应该是我所期望的,但它出现在API 23设备中,但不出现在API 19中,最重要的是,如何通过更改颜色(仅标记区域)来自定义此标题项目不是其他人)

<android.support.design.widget.NavigationView
          android:id="@+id/nav_view"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:layout_gravity="start"
          android:background="#000"
          android:fitsSystemWindows="true"
          app:headerLayout="@layout/drawer_header_layout"
          app:itemIconTint="@color/colorPrimaryDark"
          app:itemTextColor="#FFFFFF"
          app:menu="@menu/drawer_item">

This is for menu item ...

 xmlns:android="http://schemas.android.com/apk/res/android">  
  <item
          android:id="@+id/essential"  
          android:checkable="false"
          android:title="Essential">
          <menu>
              <item
                  android:id="@+id/blood_group"
                  android:checkable="true"
                  android:icon="@drawable/blood"
                  android:title="Blood Group">

              </item>
              <item
                  android:id="@+id/respected_halls"
                  android:checkable="true"
                  android:icon="@drawable/home"
                  android:title="Respected Halls">

              </item>

https://i.stack.imgur.com/doaFM.png https://i.stack.imgur.com/nmWjq.png

2 个答案:

答案 0 :(得分:0)

有两个background设置。请参阅下面的XML。

    <android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    android:background="@color/colorPrimaryDark"  <-- This changes what you want
    app:headerLayout="@layout/nav_header_main"
    app:itemBackground="@color/colorPrimaryDark" <-- This changes items bg
    app:itemTextColor="@color/mbar_default_foreground_color"
    app:itemIconTint="@color/mbar_default_foreground_color" <-- recolor icons
    app:menu="@menu/activity_main_drawer"/>

简而言之

android:background更改标题项的背景

app:itemBackground导航项目背景

app:itemTextColor导航项的前景色

app:itemIconTint图标颜色

此菜单项的组织方式如下: (这只是为了帮助下面的评论)

    <item android:title="@string/main_menu_section_music">
    <menu>
        <item
            android:id="@+id/main_menu_item_live_in_concert"
            android:icon="@drawable/icon_main_menu_live"
            android:title="@string/main_menu_live"/>
        <item
            android:id="@+id/main_menu_item_playlists"
            android:icon="@drawable/icon_main_menu_playlists"
            android:title="@string/main_menu_playlists"/>
        <item
            android:id="@+id/main_menu_item_albums_lyrics"
            android:icon="@drawable/icon_main_menu_albums"
            android:title="@string/main_menu_albums"/>
        <item
            android:id="@+id/main_menu_item_youtube"
            android:icon="@drawable/icon_main_menu_youtube"
            android:title="@string/main_menu_youtube"/>
    </menu>
</item>

干杯,希望有所帮助

答案 1 :(得分:0)

 1. <android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true">

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

        <android.support.design.widget.NavigationView
            android:id="@+id/nav_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:background="#FFF"
            android:fitsSystemWindows="true"
            app:headerLayout="@layout/drawer_header_layout"
            app:itemIconTint="@color/colorPrimaryDark"
            app:itemTextColor="#000"
            app:menu="@menu/drawer_item">

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