我正在尝试修改ActionBarSupport标题的文本颜色。我使用ActionBarStyleGenererator创建了一个颜色正确的主题,效果很好。
在使用灯光主题时,我想将标题的颜色更改为白色(在生成器中我无法设置文本颜色(。由于多种原因,我无法使用黑暗的动作栏主题。我非常接近,只需要将标题变为白色; - )
我在这里做错了什么?
<style name="ActionBar.Transparent.MyApp" parent="@style/Widget.AppCompat.Light.ActionBar">
<item name="background">@drawable/ab_transparent_myapp</item>
<item name="progressBarStyle">@style/ProgressBar.MyApp</item>
<item name="titleTextStyle">@style/MyApp.TitleTextStyle</item>
</style>
<style name="MyApp.TitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.Base.ActionBar.Title">
<item name="android:textColor">#ffffff</item>
</style>
答案 0 :(得分:14)
以下代码对我有用。我希望它能帮到你。
<style name="AppTheme" parent="AppBaseTheme">
<item name="actionBarStyle">@style/ActionBarCompat</item>
</style>
<style name="ActionBarCompat" parent="@style/Widget.AppCompat.Base.ActionBar">
<item name="titleTextStyle">@style/titleStyle</item>
</style>
<style name="titleStyle" parent="@style/TextAppearance.AppCompat.Widget.Base.ActionBar.Title">
<item name="android:textColor">@android:color/white</item>
</style>
答案 1 :(得分:5)
尴尬。我没注意创建的值-v14 / -folder(覆盖vales /)ActionBarStyleGenererator。在values-v14中使用样式的android-prefix工作:
<item name="android:titleTextStyle">@style/titleTextStyle</item>
答案 2 :(得分:3)
在我从上面的网站获得线索之前,我一直试图通过方向更改保持ActionBar标题文字颜色没有太多运气。我将Spannable应用于标题。这是我在设置ActionBar时所做的事情:
Spannable actionBarTitle = new SpannableString("Action Bar Title");
actionBarTitle.setSpan(
new ForegroundColorSpan(Color.WHITE),
0,
actionBarTitle.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
mActionBar.setTitle(actionBarTitle);
这需要在方向改变时执行。我从onCreate()调用它...不知道它是否在onConfigurationChange()中工作。
答案 3 :(得分:0)
@TNR是正确的,但是你应该仔细检查你的布局xml文件是否没有用不同的样式覆盖(P)
属性。
如果您已生成布局文件
,通常会发生这种情况