6

我目前正在借助 actionbarsherlock 使我的应用程序与 3.0 之前的设备兼容。我的应用程序有一个自定义主题,它覆盖了 Holo.light,将蓝色变为橙色。

我想将出现在操作栏下方的蓝线更改为橙色。使用官方操作栏,我通过覆盖来管理它

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

不幸的是,这似乎不适用于 actionbarsherlock 4。

4

1 回答 1

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 属性将主题应用于本机操作栏,unprefixed 属性用于自定义实现。由于两个主题 API 完全相同,您只需引用您的自定义两次,而不必实施两次。

我还将扩展各种Theme.Sherlock而不是 holo,因为我相信 holo 在 3.0 之前的旧设备上不可用。

于 2012-04-06T13:57:14.820 回答