更改ActionBarSherlock背景颜色更改ActionBarSherlock背景颜色(Cha

2019-05-13 11:42发布

我试图实现ActionBarSherlock,因为我被告知这是比较容易实现和定制。 我发现这是很容易实现,但我试图改变动作条的背景颜色和它的证明很难。

据该网站( 链接 ),看来你可以继承ActionBarSherlock的主题之一,然后覆盖你需要的属性。

这是我到目前为止有:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <style name="Theme.ActionBar" parent="Theme.Sherlock.ForceOverflow">
      <item name="android:background">#000000</item>
      <item name="background">#000000</item>
    </style>
</resources>

我注意到内置的主题是使用图像为背景,但我祈祷我没有创建图像,改变背景颜色。

谢谢。

Answer 1:

操作栏背景颜色在操作栏的样式定义的,而不是在主题本身。 你需要做这样的事情:

<style name="Theme.MyTheme" parent="Theme.Sherlock.ForceOverflow">
    <item name="actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
</style>

<style name="Widget.MyTheme.ActionBar" parent="Widget.Sherlock.ActionBar">
    <item name="android:background">#ff000000</item>
    <item name="background">#ff000000</item>
</style>

在XML定义小心使用的颜色。 ColorDrawable不尊重它的视图边界上预先蜂窝因此,如果您使用标签导航与你将有问题的堆栈式标签视图一个单独的背景。



Answer 2:

我只是用

getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#00853c")));

它改变了背景色。 希望能帮助到你。



Answer 3:

由杰克沃顿所说的代码是真实的。 但应用代码时到styles.xml如果你有minSDK <11可能不起作用由于Android:actionBarStyle在API-11支持+

为了解决这个错误:

使这些值-V11的文件夹中res文件夹,并且如上所述创建XML文件。



文章来源: Change ActionBarSherlock background color