How to change the Action bar tab text color

11,939

Solution 1

Declare this in your AppTheme:

<item name="android:actionBarTabTextStyle">@style/tabtextcolor</item>

Then here is the style declaration:

<style name="tabtextcolor" parent="@android:style/Widget.Holo.Light.ActionBar.TabText">
    <item name="android:textColor">@android:color/white</item>
</style>

Solution 2

Use this in our theme to set the actionbar text color:

<item name="titleTextStyle">@style/ActionBar.CustomTitle</item>

<!-- ActionBar title text -->
    <style name="ActionBar.CustomTitle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">@color/title_detail_color</item>
        <!-- The textColor property is backward compatible with the Support Library -->
    </style>

Sorry, this is for the case you are using AppCompat support library.

You could use the general:

<!-- ActionBar title text -->
    <style name="ActionBar.CustomTitle"
           parent="@style/TextAppearance.Holo.Widget.ActionBar.Title">
        <item name="android:textColor">@color/title_detail_color</item>
    </style>

Also, instead of Holo, you could try some other themes that match your current theme. You can also read more on the official documentation: https://developer.android.com/training/basics/actionbar/styling.html

Share:
11,939
Steve
Author by

Steve

Updated on July 24, 2022

Comments

  • Steve
    Steve almost 2 years

    I need to change the Action bar tab text color.So far Action bar tab text color displayed in black.But I need to change it into white color.

    Manifest:

    <?xml version="1.0" encoding="utf-8"?>
    
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.fth.android"
        android:versionCode="1"
        android:versionName="1.0" >
    
        <uses-sdk
            android:minSdkVersion="14"
            android:targetSdkVersion="19" />
    
        <uses-feature
            android:name="android.hardware.touchscreen"
            android:required="false" />
    
        <application
            android:name="com.sit.fth.app.GemsApplication"
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
    
             android:theme="@android:style/Theme.Holo.Light" >
            <activity
                android:name="com.sit.fth.activity.SplashActivity"
                android:launchMode="singleTask"
                android:label="@string/app_name"
                android:screenOrientation="portrait"
                android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
    
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    
    
            </activity>
    
        </application>
    
    </manifest>   
    

    res/values/styles.xml:

    <resources xmlns:android="http://schemas.android.com/apk/res/android">
    
        <!--
            Base application theme, dependent on API level. This theme is replaced
            by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
         -->
        <style name="AppBaseTheme" parent="android:Theme.Light">
            <!--
                Theme customizations available in newer API levels can go in
                res/values-vXX/styles.xml, while customizations related to
                backward-compatibility can go here.
             -->
        </style>
    
        <!-- Application theme. -->
        <style name="AppTheme" parent="AppBaseTheme">
    
            <!-- All customizations that are NOT specific to a particular API-level can go here. -->
        </style>
    
        <style name="GridLayout">
            <item name="android:drawSelectorOnTop">true</item>
            <item name="android:listSelector">@drawable/photogrid_list_selector</item>
        </style>
    
        <style name="CustomRatingBar" parent="@android:style/Widget.RatingBar">
            <item name="android:progressDrawable">@drawable/custom_ratingbar</item>
             <item name="android:minHeight">20dip</item>
                    <item name="android:maxHeight">20dip</item>
        </style>
    
    
        <style name="CustomTheme" parent="@android:style/Theme">
        <item name="android:tabWidgetStyle">@style/CustomTabWidget</item>
    </style>
    
    <style name="CustomTabWidget" parent="@android:style/Widget.TabWidget">
        <item name="android:textAppearance">@style/CustomTabWidgetText</item>
    </style>
    
    <style name="CustomTabWidgetText" 
        parent="@android:style/TextAppearance.Widget.TabWidget">
        <item name="android:textSize">12sp</item>
       <!--  <item name="android:textStyle">bold</item> -->
    </style>
    
    
    </resources>
    

    In res/color.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <drawable name="list_bg_normal">#00000f</drawable>
        <drawable name="list_bg_normal_audio">#ededed</drawable>
         <drawable name="list_bg_pressed_audio">#FFFFFF</drawable>
        <drawable name="list_bg_pressed">#848484</drawable>
         <color name="grid_state_pressed">#BB7dbcd3</color>
        <color name="grid_state_focused">#777dbcd3</color>
        <drawable name="app_theme_bg">#F5F5FA</drawable>
    
         <color name="title_detail_color">#000000</color>
        <color name="duration_color">#e4e4e4</color>
        <color name="content_color">#454545</color>
    
    </resources>
    

    Anybody can help me with these.Thank you.

  • Steve
    Steve almost 10 years
    No resource found that matches error @style/Widget.AppCompat.Light.ActionBar.TabText
  • Steve
    Steve almost 10 years
    no resource found that mathces error "@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
  • Steve
    Steve almost 10 years
    Now also No resource found that matches error @style/Widget.AppCompat.ActionBar.TabText
  • Tinashe
    Tinashe almost 10 years
    That works perfect for me, maybe you should try using the AppCompat library <style name="Apptheme" parent="@style/Theme.AppCompat.Light">
  • Tinashe
    Tinashe almost 10 years
    If you're supporting API > 11 maybe you should try this one: parent="@android:style/Widget.Holo.Light.ActionBar.TabText">
  • Steve
    Steve almost 10 years
    Thank you tinashe.works perfectly.Edit your answer and post these parent="@android:style/Widget.Holo.Light.ActionBar.TabText">