Android Actionbar Compat更改标题文本颜色

Android Actionbar Compat更改标题文本颜色,android,android-actionbar-compat,Android,Android Actionbar Compat,我正在尝试修改ActionBarSupport标题的文本颜色。我曾经用正确的颜色创建过主题,效果很好 在使用“浅”主题时,我想将标题的颜色更改为白色(在Generator中,我无法设置文本颜色(.1.由于一些原因,我无法使用“深”actionbar主题。我离主题很近,只需将标题设置为白色;-) 我做错了什么 <style name="ActionBar.Transparent.MyApp" parent="@style/Widget.AppCompat.Light.ActionBar"&g

我正在尝试修改ActionBarSupport标题的文本颜色。我曾经用正确的颜色创建过主题,效果很好

在使用“浅”主题时,我想将标题的颜色更改为白色(在Generator中,我无法设置文本颜色(.1.由于一些原因,我无法使用“深”actionbar主题。我离主题很近,只需将标题设置为白色;-)

我做错了什么

<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>

@可绘制/ab_透明_myapp
@style/ProgressBar.MyApp
@style/MyApp.TitleTextStyle
#ffffff

下面的代码对我很有用。我希望它能帮助你

<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>

@风格/动作酒吧
@样式/标题样式
@android:彩色/白色

尴尬。我没有注意values-v14/-文件夹(它覆盖vales/)ActionBarStyleGenerator创建的。在values-v14中的样式上使用android前缀,它起作用了:

      <item name="android:titleTextStyle">@style/titleTextStyle</item>
@style/titleTextStyle
可在以下位置找到

我一直试图通过方向更改来保持ActionBar标题文本的颜色,但运气不太好,直到我从上述网站得到了线索。我将Spanable应用于标题。以下是我在设置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()调用它……不知道它是否在OnConfiguration change()中工作。

@TNR是正确的,但是您应该仔细检查布局xml文件是否没有以不同的样式覆盖
android:theme
属性


如果你已经生成了布局文件,通常会发生这种情况

谢谢你回答你自己的问题+1!救了我一天!嘿,有什么理由我们必须在v11中添加android前缀吗?不客气!我不能说,我有它,它工作了,没有进一步调查。这把我的操作栏涂成了白色