2013-02-12 131 views
0

我想将操作栏的标题颜色更改为白色。我已经宣布的风格:ActionBar标题颜色不变

<!-- 
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.Holo.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. --> 
<item name="android:windowActionBar">true</item> 
<item name="android:actionBarStyle">@style/ProjActionBar</item> 
<item name="android:actionBarTabTextStyle">@style/ProjActionBar.TitleTextStyle</item> 
</style> 

<!-- ActionBar Style --> 
<style name="ProjActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:background">@color/b</item> 
    <item name="android:backgroundStacked">@color/k1</item> 
    <!-- This is when tabs are splitted into a second line --> 
</style> 

<style name="ProjActionBar.TitleTextStyle" parent="@android:style/TextAppearance"> 
    <item name="android:textColor">@color/w</item> 
    <item name="android:textSize">13sp</item> 
</style> 

正如你可以看到我有一个“actionBarTabTextStyle”与属性“文字颜色”为@色宣称/ W宣布我colors.xml为:

<color name="w">#FFFFFFFF</color> 

发生了什么?为什么操作栏标题不会改变textColor?

我的项目的目标是到最小SDK 11 sdkVersion 17(蜂窝3.0+)

回答

6

的问题是,你还没有真正改变了标题文本样式。您已更改标签文本的样式。要更改标题文本样式,您需要在ProjActionBar样式上设置android:titleTextStyle和(可选)android:subtitleTextStyle

所以,你ProjActionBar变成这样:

<style name="ProjActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:background">@color/b</item> 
    <item name="android:backgroundStacked">@color/k1</item> 
    <item name="android:titleTextStyle">@style/ProjActionBar.TitleTextStyle</item> 
</style> 

请注意,这是假定您使用的是原生的ActionBar组件(的事实,你是从@android:style/Widget.Holo.Light.ActionBar继承所示)。如果您需要向后兼容,则必须继承Widget.AppCompat.Light.ActionBar的样式并使用textStyle而不是android:textStyle

+0

谢谢!我没有发生过 – PaNaVTEC 2013-02-12 14:55:21