Search code examples
androidnavigation-drawer

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.

enter image description here

enter image description here

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>

Solution

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