Jesper Martensson
Jesper Martensson

Reputation: 1248

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>

Upvotes: 2

Views: 2350

Answers (2)

Vivek_Neel
Vivek_Neel

Reputation: 1353

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>

Upvotes: 4

kim jot
kim jot

Reputation: 74

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

Upvotes: 0

Related Questions