Action Bar Sherlock 4 title text colour - where am

2020-03-01 19:16发布

问题:

I'm having difficulty making my Action Bar title text colour go white. Having followed examples I believe my code is correct, however the text appears black.

Can anyone see what I am doing wrong?

<resources>
    <style name="Theme.MyApp" parent="Theme.Sherlock.Light">
        <item name="actionBarStyle">@style/Widget.MyApp.ActionBar</item>
        <item name="android:actionBarStyle">@style/Widget.MyApp.ActionBar</item>
        <item name="titleTextStyle">@style/Widget.MyApp.TitleTextStyle</item>
        <item name="android:titleTextStyle">@style/Widget.MyApp.TitleTextStyle</item>
    </style>

    <style name="Widget.MyApp.ActionBar" parent="Widget.Sherlock.Light.ActionBar">
        <item name="background">@drawable/gradient_blue</item>
        <item name="android:background">@drawable/gradient_blue</item>
    </style>

    <style name="Widget.MyApp.TitleTextStyle" parent="Widget.Sherlock.Light.ActionBar">
        <item name="titleTextStyle">@color/white</item>
        <item name="android:titleTextStyle">@color/white</item>
    </style>
</resources>

Many thanks in advance!

回答1:

Use the following, just customize the actionBarStyle property:

<resources>
    <style name="Theme.MyApp" parent="Theme.Sherlock.Light">
        <item name="actionBarStyle">@style/Widget.MyApp.ActionBar</item>
        <item name="android:actionBarStyle">@style/Widget.MyApp.ActionBar</item>
    </style>

    <style name="Widget.MyApp.ActionBar" parent="Widget.Sherlock.Light.ActionBar">
        <item name="titleTextStyle">@style/Widget.MyApp.TitleTextStyle</item>
        <item name="android:titleTextStyle">@style/Widget.MyApp.TitleTextStyle</item>
    </style>

    <style name="Widget.MyApp.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
        <item name="android:textColor">@color/white</item>
    </style>
</resources>

and you can customize textSize of title too.



回答2:

You should set the text color and other text property's within the text style.

<style name="Widget.MyApp.TitleTextStyle" parent="Widget.Sherlock.Light.ActionBar">
    <item name="android:textColor">@color/white</item>
</style>