2014-10-20 81 views
0

我有一个样式文件我在哪里设置一些动作条的风格像这样操作栏背景色不改变

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

现在我想以编程方式更改操作栏的颜色像this`

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

http://stackoverflow.com/a/17198657/3419997 – turtle 2014-10-20 09:22:12

回答

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”的目录中

0

我的建议是全部删除ActionBar并使用AppCompatLibrary V21中的新工具栏。您只需指定主要和重点颜色,并设置您的背景以及其上的所有控件。

对于这个在博客克里斯巴内斯描述首发:

appcompat v21: material design for pre-Lollipop devices!

+0

你不必完全放弃的动作条。你只需要使用'Theme.AppCompat',然后你就可以使用新的属性。 – reVerse 2014-10-20 09:20:40

+0

是否有任何方法可以编程方式更改此样式属性的背景@ style/Widget.Sherlock.ActionBar.TabView – Bora 2014-10-20 09:22:47

+0

@reVerse从ActionBar更改为AppCompat在我看来,工具栏是一个明智之举,因为您还可以从中获得Material Design工具栏。 – 2014-10-20 12:02:43