2

现在我正在使用actionbar sherlock和fragment开发一个android应用程序。我使用了以下主题。

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

    </style>

我得到了以下输出。在此处输入图像描述

但我想使用浅色主题,所以我将父级更改为

parent="Theme.Sherlock.Light.ForceOverflow"

然后我得到以下输出在此处输入图像描述

浅色主题缺少蓝色下划线。我怎样才能使那个蓝色下划线?...请帮助我的朋友。

4

2 回答 2

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 > API 13+ 应该有原始的 Actionbar bavkground drawables。只需修改它们并将其设置为背景。不要忘记稍后将此主题设置为您的应用程序主题。

编辑:

以下是来自 Jake Whartons Action Bar Sherlock 的 9 张 Patch 图片(真是巧合,他早前整理了我的帖子……:)):

蓝色中风 灰色背景

于 2012-08-07T05:05:06.390 回答
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.pngdrawable insideActionBarSherlock源如何在底部创建带有彩色条线的9-patch drawable。

于 2012-08-07T05:10:43.937 回答