我目前正在借助 actionbarsherlock 使我的应用程序与 3.0 之前的设备兼容。我的应用程序有一个自定义主题,它覆盖了 Holo.light,将蓝色变为橙色。
我想将出现在操作栏下方的蓝线更改为橙色。使用官方操作栏,我通过覆盖来管理它
<item name="android:background">@drawable/ad_tab_unselected_holo</item>
不幸的是,这似乎不适用于 actionbarsherlock 4。
我目前正在借助 actionbarsherlock 使我的应用程序与 3.0 之前的设备兼容。我的应用程序有一个自定义主题,它覆盖了 Holo.light,将蓝色变为橙色。
我想将出现在操作栏下方的蓝线更改为橙色。使用官方操作栏,我通过覆盖来管理它
<item name="android:background">@drawable/ad_tab_unselected_holo</item>
不幸的是,这似乎不适用于 actionbarsherlock 4。
你需要做两件事:
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 之前的旧设备上不可用。