2012-04-06 114 views
6

我目前正致力于通过actionbarsherlock帮助我的应用程序与预先3.0设备兼容。我的应用程序有一个自定义主题,它覆盖了Holo.light将蓝色更改为橙​​色。Actionbarsherlock - 更改操作栏线条颜色

我想将操作栏下方出现的蓝色线条更改为橙色。与官方的动作条我管理这个通过重写

<item name="android:background">@drawable/ad_tab_unselected_holo</item> 

可惜,这似乎并没有在actionbarsherlock是工作4

回答

5

你需要做两件事情:

的ABS 4现在模仿的标准与它的属性操作栏,所以你需要添加 -

<item name="background">@drawable/ad_tab_unselected_holo</item> 

通知缺席的android:

所以,你的整个代码将是:

<item name="android:background">@drawable/ad_tab_unselected_holo</item> 
<item name="background">@drawable/ad_tab_unselected_holo</item> 

引述:

由于任何主题 自定义必须在两个属性来宣布Android的主题化系统的限制。正常的 android-prefixed属性将主题应用于本机操作栏 ,并且前缀的属性用于自定义实现。由于 这两个主题API完全相同,因此只需要两次引用您的 自定义设置,而不必实施两次。

我还会扩展Theme.Sherlock的一个变量而不是全部,因为我认为holo在3.0之前的旧版本设备上不可用。

+1

是的,你需要扩展Theme.Sherlock或ABS 4提供的另一个主题。 – 2012-04-06 14:01:38

+0

此外,在我的研究结果中,我需要有android:背景和样式的背景以在所有Android版本中一致地工作。不过,我可能会弄错了,或者这个改变了。 – 2012-04-06 14:02:46

+0

注意我说*添加* - 不能代替,因此两种变体都会出现。 – 2012-04-06 14:03:35