【问题标题】:Actionbarsherlock - change actionbar line colourActionbarsherlock - 更改操作栏线条颜色
【发布时间】:2012-04-06 13:40:15
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: android actionbarsherlock android-theme android-styles


    【解决方案1】:

    你需要做两件事:

    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,因为我认为 holo 在 3.0 之前的旧设备上不可用。

    【讨论】:

    • 是的,您需要扩展 Theme.Sherlock 或 ABS 4 提供的其他主题。
    • 另外,在我的发现中,我需要 android:background 和 background 才能使样式在所有版本的 Android 中始终如一地工作。不过,也许我完全错了,或者情况发生了变化。
    • 注意我说的是 add - 不是替换因此两种变体都会出现。
    • 我被“注意没有 android:”所吸引,这是在 background 上方的 android:background 行之前。
    • 在你说完之后,我想我会省去一些困惑,而且我的观点很清楚:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多