需要帮助更改ActionBar标题文本的颜色

时间:2015-03-11 20:48:47

标签: android android-actionbar

我尝试了许多不同的方法来更改ActionBar中的标题文字,包括Google提供的标题文字,但却没有成功。

我的风格:

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="android:actionBarStyle"> @style/MyActionBar</item>
    <item name="actionBarStyle"> @style/MyActionBar</item>
</style>

<style name="AppTheme2" parent="Theme.AppCompat.Light">
    <!-- Customize your theme here. -->
    <item name="android:actionBarStyle"> @style/MyActionBar</item>
    <item name="actionBarStyle"> @style/MyActionBar</item>

</style>

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@color/actionbar_bg</item>
    <item name="android:actionBarStyle">@style/MyActionBarTitleText</item>
    <item name="background">@color/actionbar_bg</item>
    <item name="actionBarStyle">@style/MyActionBarTitleText</item>
</style>

<style name="MyActionBarTitleText"
    parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:titleTextStyle">@color/textcolor</item>
    <item name="titleTextStyle">@color/textcolor</item>
</style>

</resources>

请帮助,我已经被困在这一整天了,我考虑跳过这一步但如果我改变它会看起来好多了。如果您需要更多信息,请告诉我们。

1 个答案:

答案 0 :(得分:1)

使用支持主题(AppCompat)时,您还需要指定向后兼容的属性:

<item name="actionBarStyle"> @style/MyActionBar</item>
<item name="android:actionBarStyle"> @style/MyActionBar</item>

尝试使用所有属性。

修改

请关注documentation。我看到一些属性不合适。另外,请不要使用Holo主题的AppCompat小部件。

试试这个:

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

<style name="MyActionBar"
       parent="Widget.AppCompat.ActionBar">
    <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
    <item name="titleTextStyle">@style/MyActionBarTitleText</item>
</style>

<style name="MyActionBarTitleText"  parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">#FF0000</item>
</style>