2013-09-16 194 views
1

我正在努力实现这一目标,但我没有运气。我试图做的是从我在主样式标签中附加的样式中更改背景颜色。这是我的代码:如何更改Android中操作栏的背景颜色?

<resources> 

<style name="AppBaseTheme" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
    <item ></item> 
</style> 

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
    <item name="android:background">#2E495E</item> 
</style> 

还是什么都没有改变。 我得到这个在我的应用程序:

http://i.imgur.com/m1MrGwk.png

回答

2

这是你唯一的style.xml?否则,请检查您是否正在为正确的API

+0

还不行。我不知道我在做什么错误。 –

+1

这是您唯一的'style.xml'吗?否则检查你是否正在修改正确的** API **。 –

+0

谢谢你的男人。现在它可以工作。但是,我是否应该将相同的代码放在我拥有的所有样式xml文件中,或者如果我将它放在具有我定位的最低API的xml文件中,它是否足够? –

3
ActionBar bar = getActionBar(); 
bar.setBackgroundDrawable(new ColorDrawable("COLOR")); 
+0

我想用xml方式设置它。 –

+0

你解决了你的问题吗? – dipali

4

我有同样的问题,修改 ,它可能是你有同样的问题。注意docs说以下内容:

你声明必须申报两次,每次样式属性..

所以我的问题是,我宣布它为2.1及更高版本,而不是3.0和更高等等我的Galaxy S4当然看不到我制作的颜色有任何变化。

<resources> 

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 

    <!--Support Library compatibility--> 
    <item name="actionBarStyle">@style/MyActionBar</item> 
</style> 

<!-- ActionBar styles --> 
<style name="MyActionBar" 
    parent="@style/Widget.AppCompat.Light.ActionBar"> 

    <item name="android:background">@color/green</item> 

    <!--Support Library compatibility--> 
    <item name="background">@color/green</item> 
</style> 

<style name="NoActionBar" parent="Theme.AppCompat.Light"> 
    <item name="android:windowNoTitle">true</item> 
</style>