简体   繁体   中英

How to set the Color of the item title in navigationDrawer?

I am stuck in my own code. I can't find where to set the color of the "Title" text, in the navigationDrawer, to the defualt gray.

<android.support.design.widget.NavigationView
        android:id="@+id/navigation_view"
        android:background="#000"
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:layout_gravity="start"
        app:headerLayout="@layout/header"
        app:itemTextColor="your color"
        app:menu="@menu/drawer" />

app:itemTextColor="your color" only changes each item, like Import, Gallery etc. But how to change the Communicate textColor with the line above?

Picture 2 (dark blue) is what it looks like in my project. I managed to "somewhere" set the color to white in my project.

在此处输入图片说明

在此处输入图片说明

Can you find my problem? Currently my "Title" text is white..

nav_header_main.xml

 <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="@dimen/nav_header_vertical_spacing" android:src="@android:drawable/sym_def_app_icon" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="@dimen/nav_header_vertical_spacing" android:textColor="@color/whiteGray" android:text="@string/app_name" /> </LinearLayout>

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:background="@color/nav_drawer_background" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" app:menu="@menu/activity_main_drawer" app:headerLayout="@layout/nav_header_main" app:itemTextColor="@color/nav_drawer_text" /> <android.support.design.widget.NavigationView android:id="@+id/nav_right_view" android:background="@color/nav_drawer_background" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="end" android:fitsSystemWindows="true" app:menu="@menu/activity_main_right_drawer" app:itemTextColor="@color/nav_drawer_text" /> </android.support.v4.widget.DrawerLayout>

app_bar_main.xml

 <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:popupTheme="@style/AppTheme.PopupOverlay" /> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_main" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin" />

values/style.xml

 <style name="WelcomeDialogTitle"> <item name="android:gravity">center_horizontal</item> </style> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="android:windowBackground">@color/darkblue</item> <item name="colorPrimary">@color/transparent</item> <item name="colorPrimaryDark">@color/darkblue</item> <item name="colorAccent">@color/darkblue</item> </style> <style name="AppTheme.NoActionBar" parent="@style/Theme.AppCompat"> <item name="android:windowBackground">@color/darkblue</item> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style> <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> <item name="colorPrimary">@color/transparent</item> <item name="colorPrimaryDark">@color/transparent</item> <item name="colorAccent">@color/transparent</item> </style> <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> <item name="android:windowActionBarOverlay">true</item> <item name="windowActionBarOverlay">true</item> </style> <style name="CustomTheme" parent="@android:style/Theme.Black"> <item name="android:listViewStyle">@style/CustomListView</item> <item name="android:textViewStyle">@style/CustomTextView</item> </style> <style name="CustomListView" parent="@android:style/Widget.ListView"> <item name="android:textColor">#000000</item> <item name="android:fastScrollEnabled">true</item> </style> <style name="CustomTextView" parent="@android:style/Widget.TextView"> <item name="android:textColor">#000000</item> <item name="android:textSize">17sp</item> <item name="android:padding">1dp</item> </style> <style name="TitleTextStyleLarge"> <item name="android:gravity">left|center</item> <item name="android:shadowColor">@color/white</item> <item name="android:textAppearance">?android:attr/textAppearanceMedium</item> <item name="android:textColor">@color/white</item> <item name="android:textSize">18sp</item> </style> <style name="TitleTextStyle"> <item name="android:gravity">left|center</item> <item name="android:textSize">18sp</item> <item name="android:layout_width">0dp</item> <item name="android:layout_height">fill_parent</item> <item name="android:layout_marginLeft">5dp</item> <item name="android:layout_weight">1</item> <!-- <item name="android:shadowColor">@color/white</item> --> <item name="android:textColor">@color/white</item> </style> <style name="BarTitleStyle"> <item name="android:background">@drawable/bg_list_topbar</item> <item name="android:layout_height">33dp</item> <!-- <item name="android:shadowColor">@color/white</item> --> <item name="android:layout_width">fill_parent</item> </style> <style name="BarTitleProgressStyle"> <item name="android:background">@drawable/bg_list_topbar</item> <item name="android:layout_height">27dp</item> <item name="android:layout_width">27dp</item> <item name="android:layout_marginBottom">1dp</item> <item name="android:layout_marginRight">5dp</item> <item name="android:layout_marginTop">1dp</item> <item name="android:layout_gravity">center</item> <item name="android:gravity">center_vertical|center_horizontal</item> </style> </resources>

My activity theme

<activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar"
            >
            <meta-data

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_search"
            android:title="@string/LabelSearchTabTitle" />
        <item
            android:id="@+id/nav_wiki"
            android:title="@string/LabelTitleWikiBook" />
        <item
            android:id="@+id/nav_forum"
            android:title="@string/LabelTitleForum"
            />
        <item
            android:id="@+id/nav_history"
            android:title="@string/LabelHistory"
            />
        <item
            android:id="@+id/nav_favs"
            android:title="@string/LabelFavourites"
            />
    </group>

    <item android:title="@string/LabelTitleSupportPages">
        <menu>
            <item
                android:id="@+id/nav_options"
                android:title="@string/LabelTitleSettings" />
            <item
                android:id="@+id/nav_qa"
                android:title="@string/LabelTitleAbout" />
            <item
                android:id="@+id/nav_facebook"
                android:title="@string/LabelTitleFB" />
        </menu>
    </item>

</menu>

Try :

<item name="android:textColorSecondary">#eeeeee</item>

Edit :

Replace :

 <style name="AppTheme.NoActionBar" parent="@style/Theme.AppCompat">
        <item name="android:windowBackground">@color/darkblue</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

With This :

<style name="AppTheme.NoActionBar" parent="@style/Theme.AppCompat">
        <item name="android:windowBackground">@color/darkblue</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>

        <item name="android:textColorSecondary">#eeeeee</item>
    </style>

Edit 2 :

  <style name="AppTheme.NoActionBar" parent="@style/Theme.AppCompat">
            <item name="android:windowBackground">@color/darkblue</item>
            <item name="windowActionBar">false</item>
            <item name="windowNoTitle">true</item>

             // change header color       
           <item name="android:textColorSecondary">#eeeeee</item>
            // change separator color
            <item name="android:listDivider">#ff000000</item>
        </style>

You can make a custom layout for your Drawer items and include the custom layout in NavigationView.. Like this

 <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">


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

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

sidedrawer is your custom layout and you can provide it any style or color you want.. hope it will help you

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM