我正在使用ActionBarSherlock,几乎所有东西似乎都运行良好。 但我希望标题文字颜色为白色。使用Sherlock-Actionbar时效果很好但不适用于Android 4中的原始ActionBar
在绝望中我尝试了这个:
<style name="Widget.AppTheme.ActionBar" parent="Widget.Sherlock.Light.ActionBar">
<item name="titleTextStyle">@style/TextAppearance.AppTheme.Widget.ActionBar.Title</item>
<item name="android:gravity">center</item>
<item name="android:background">@color/white</item>
<item name="android:textColor">@color/white</item>
</style>
发现背景改变为白色。所以这显然是改变的正确场所。但仍然将textColor更改为白色对我不起作用。
我用这个作为我的主题:
<style name="AppTheme" parent="Theme.Sherlock.Light">
<item name="android:actionBarStyle">@style/Widget.AppTheme.ActionBar</item>
<item name="actionBarStyle">@style/Widget.AppTheme.ActionBar</item>
<item name="textColorPrimary">@color/white</item>
<item name="android:textColor">@color/white</item>
...
</style>
所以任何想法可能是什么问题?为什么它与背景一起工作而不是textColor?
谢谢, 托拜厄斯
---从这里编辑---
我刚刚发现,如果我使用我的主题programmaticall喜欢
setTheme(R.style.Widget_AppTheme_ActionBar);
有效。但是,如果我依赖于我在Manifest中的设置,它就不会。
<application ... android:theme="@style/AppTheme" >
但
<application ... android:theme="@style/Widget_AppTheme_ActionBar" >
会很好 - 即使AppTheme中的其他样式不会被设置。 所以看起来使用定义自己的ActionBarStyle的主题不起作用。
有人有任何想法吗?
答案 0 :(得分:8)
好的,抱歉回答我自己的问题。我终于意识到了我的问题。 因为我必须使用这两个参数
<item name="titleTextStyle">@style/TextAppearance.AppTheme.Widget.ActionBar.Title</item>
<item name="android:titleTextStyle">@style/TextAppearance.AppTheme.Widget.ActionBar.Title</item>
因为第一个用于Android 2.x的ActionBarSherlock,第二个用于本机Action Bar。
我希望这可以帮助那些遇到同样麻烦的人。