Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change color of ActionBar's Title Text on Android 4.3 api 18

I am using appcompat v7 library to support action bars in api level 8 and up. I am trying to change the color of title text of action bar.

Color of title text is changing in GingerBread but when I run the app on my phone with JellyBean the color doesn't change.

On GingerBread Title Color changes to Red:

enter image description here

On JellyBean it remains black:

enter image description here

Here are my styles.xml:

styles.xml:

<resources>

    <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
        <item name="actionBarStyle">@style/ActionBarStyle</item>
    </style>

    <style name="ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
        <item name="titleTextStyle">@style/TitleBarTextColor</item>
    </style>

    <style name="TitleBarTextColor" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">@color/red</item>
    </style>
    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>

</resources>

styles.xml for v-11:

<resources>

    <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
        <item name="actionBarStyle">@style/ActionBarStyle</item>
    </style>

</resources>

styles.xml for v-14:

<resources>

    <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
        <item name="actionBarStyle">@style/ActionBarStyle</item>
    </style>
</resources>

Mainfest:

android:theme="@style/AppTheme" 
like image 331
Rakesh Avatar asked Dec 07 '22 02:12

Rakesh


1 Answers

Found Solution to my own problem :

I have to use android:actionBarStyle , android:titleTextStyle and android:textColor for api level 14 and up.

So the styles.xml for v-11 will be:

<resources>

    <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
        <item name="android:actionBarStyle">@style/ActionBarStyle</item>
    </style>

    <style name="ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
        <item name="android:titleTextStyle">@style/TitleBarTextColor</item>
    </style>

    <style name="TitleBarTextColor" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">@color/red</item>
    </style>
    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>

</resources>
like image 154
Rakesh Avatar answered Dec 10 '22 11:12

Rakesh