操作栏背景颜色不变

时间:2014-10-20 08:58:55

标签: android

我有一个样式文件,我正在设置一些像这样的动作栏样式

<style name="ActionBar.Solid.Pro" parent="@style/Widget.Sherlock.ActionBar.Solid">
        <item name="background">@color/dialer_color</item>
        <item name="backgroundStacked">@color/dialer_color</item>
        <item name="backgroundSplit">@color/dialer_color</item>
        <item name="android:progressBarStyle">@style/ProgressBar.Pro</item>
    </style>

现在我想以编程方式更改操作栏的颜色,如此

getSupportActionBar.setBackgroundDrawable(new ColorDrawable(Color.Red));

但它没有任何效果。你能告诉我为什么,我做错了吗

是否可以以编程方式更改ActionBar.TabView背景? 我正在设置这样的样式,如何更改此样式属性的背景?

 <style name="ActionBarTabStyle.Pro" parent="@style/Widget.Sherlock.ActionBar.TabView">
    <item name="android:background">@color/dialer_color</item>
</style>

2 个答案:

答案 0 :(得分:0)

看你可以参考android动作栏样式生成器 这使得自定义操作栏的工作变得更加容易 我告诉你,你必须看看这个链接 它一定会帮到你

http://jgilfelt.github.io/android-actionbarstylegenerator/#name=example&compat=holo&theme=light&actionbarstyle=solid&texture=0&hairline=0&neutralPressed=1&backColor=E4E4E4%2C100&secondaryColor=D6D6D6%2C100&tabColor=33B5E5%2C100&tertiaryColor=F2F2F2%2C100&accentColor=33B5E5%2C100&cabBackColor=FFFFFF%2C100&cabHighlightColor=33B5E5%2C100

还有一件事,当您完成指定颜色后,您将收到存档的图像集,即.zip格式 因此,您必须在各自的文件夹或目录中提取它们 在目录中命名为“res”

答案 1 :(得分:0)

我的建议是完全删除ActionBar并使用AppCompatLibrary V21中的新工具栏。在那里你只需指定主色和强调色,你的背景就会被设置,以及它上面的所有控件。

对于初学者来说,Chris Banes的博客中描述了这一点:

appcompat v21: material design for pre-Lollipop devices!