Change Android Actionbar subtitle colour
Add below code in your activity file
actionBar.setSubtitle(Html.fromHtml("<font color='#FFBF00'>Here ActionBar Subtitle</font>"));
This set of styles formats the action bar, including background, title and subtitle text; it also formats the tabs, including all states (selected, unselected, and all the focused/pressed combinations), as well as the tab text font and size (per Android developers instruction https://developer.android.com/training/basics/actionbar/styling.html):
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/themeActionBar</item>
<item name="android:actionBarTabTextStyle">@style/styleActionBarTabText</item>
<item name="android:actionMenuTextColor">@color/actionbar_text</item>
<item name="android:actionBarTabStyle">@style/styleActionBarTabs</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/themeActionBar</item>
<item name="actionBarTabTextStyle">@style/styleActionBarTabText</item>
<item name="actionMenuTextColor">@color/actionbar_text</item>
<item name="actionBarTabStyle">@style/styleActionBarTabs</item>
</style>
<!-- ActionBar styles -->
<style name="themeActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/abactionbargradient</item>
<item name="android:titleTextStyle">@style/styleActionBarTitleText</item>
<item name="android:subtitleTextStyle">@style/styleActionBarSubTitleText</item>
<!-- Support library compatibility -->
<item name="background">@drawable/abactionbargradient</item>
<item name="titleTextStyle">@style/styleActionBarTitleText</item>
<item name="subtitleTextStyle">@style/styleActionBarSubTitleText</item>
</style>
<!-- ActionBar title text -->
<style name="styleActionBarTitleText"
parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/actionbar_title_text</item>
<!-- The textColor property is backward compatible with the Support Library -->
</style>
<!-- ActionBar title text -->
<style name="styleActionBarSubTitleText"
parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Subtitle">
<item name="android:textColor">@color/actionbar_sub_title_text</item>
<!-- The textColor property is backward compatible with the Support Library -->
</style>
<!-- ActionBar tabs text -->
<style name="styleActionBarTabText"
parent="@style/Widget.AppCompat.ActionBar.TabText">
<item name="android:textColor">@color/actionbar_text</item>
<item name="android:textSize">10dp</item>
<!-- The textColor property is backward compatible with the Support Library -->
</style>
<!-- ActionBar tabs styles -->
<style name="styleActionBarTabs"
parent="@style/Widget.AppCompat.ActionBar.TabView">
<!-- tab indicator -->
<item name="android:background">@drawable/abactionbartabs</item>
<!-- Support library compatibility -->
<item name="background">@drawable/abactionbartabs</item>
</style>
This set of styles looks especially nice when the drawables are gradients using some set of coherent color values (i.e. lavender to purple for selected and purple to lavender for unselected, changing the values to darker for pressed and lighter for focused).
Just change titleTextStyle
to subtitleTextStyle
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
</style>
<style name="MyTheme.ActionBarStyle"parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:subtitleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
</style>
<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">@color/red</item>
</style>