Actionbar sherlock灯光主题

时间:2012-08-07 04:51:55

标签: android actionbarsherlock android-theme

现在我正在使用actionbar sherlock和fragment.I使用以下主题的Android应用程序。

<style name="Theme.AndroidDevelopers" parent="Theme.Sherlock.ForceOverflow">
    <item name="android:actionDropDownStyle">@style/MyDropDownNav</item>
    <item name="actionDropDownStyle">@style/MyDropDownNav</item>

    </style>

我得到了以下输出。enter image description here

但我想使用灯光主题,所以我将父母改为

parent="Theme.Sherlock.Light.ForceOverflow"

然后我得到以下输出enter image description here

灯光主题缺少蓝色下划线。我怎么能用蓝色下划线?...请帮帮我朋友。

2 个答案:

答案 0 :(得分:5)

你必须创建自己的主题才能做到这一点:

<resources>
  <style name="MyTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
  </style>

  <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">ANY_HEX_COLOR_CODE</item>
  </style>
</resources>

作为背景,您可以将带有蓝色下划线的修改后的9补丁图像放入其中。看看你的Android Sdk&gt; API 13+应该有原始的Actionbar bavkground drawables。只需修改它们并将其设置为背景。不要忘记稍后将此主题设置为您的App主题。

编辑:

以下是来自Jake Whartons Action Bar Sherlock的9张Patch图片(他之前编写我的帖子真是巧合...... :):

blue Stroke grey background

答案 1 :(得分:2)

为操作栏创建自己的样式并覆盖background属性:

<style name="MyActionBarStyle" parent="Widget.Sherlock.Light.ActionBar.Solid">
    <item name="android:background">@drawable/bg_action_bar</item>
    <item name="background">@drawable/bg_action_bar</item>
</style>

将此样式用于主题中的操作栏:

<style name="Theme.AndroidDevelopers" parent="Theme.Sherlock.Light.ForceOverflow">
    <item name="actionBarStyle">@style/MyActionBarStyle</item>
    <item name="android:actionBarStyle">@style/MyActionBarStyle</item>
</style>

查看res\drawable-hdpi\abs__ab_transparent_light_holo.9.png可绘制的ActionBarSherlock内部来源,了解如何在底部创建带有彩条线的9-patch drawable。