我正在使用 ActionBarSherlock 使我的应用与旧设备兼容。实现很简单,但现在我需要将您在选项卡下看到的默认 Holo 蓝线样式设置为红线。
我一直在阅读一些关于 SO 的主题(topic 1、topic 2)以及 ABS 文档(link),但我无法让它工作。
这就是我目前所拥有的。
在我的 AndroidManifest.xml 中,我将这一行添加到 application
标签。
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock" > <!-- SET THE DEFAULT THEME -->
然后在 res/values/styles.xml
我有:
<resources>
<style name="AppTheme" parent="android:Theme.Light" />
<style name="Theme.MyTheme" parent="Theme.Sherlock">
<item name="actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
</style>
<style name="Widget.MyTheme.ActionBar" parent="Widget.Sherlock.ActionBar">
<item name="android:background">#ff000000</item>
<item name="background">#ff000000</item>
</style>
</resources>
但是当我运行我的应用程序时,我仍然看到默认的蓝色线条。
我做错了什么?
编辑
如果您想完全设置 ActionBarSherlock 的样式,请阅读本文!
我在 SO 上找到了一个答案,其中提供了以下链接: http://jgilfelt.github.com/android-actionbarstylegenerator
这是一个简单的生成器,可以生成完全定制的 ABS 所需的所有文件!您只需将生成的文件复制到适当的文件夹中即可!
不要忘记在您的 AndroidManifest 中启用样式(您必须在生成器中输入样式名称)。为此,请参阅下面的答案。
最佳答案
一些事情:
你真的不需要<style name="AppTheme" parent="android:Theme.Light" />
除非您想将其更改为继承 Theme.Sherlock
并将其用于您的应用程序主题。如果您决定这样做,您将不得不使用 Theme.MyTheme
用于 Activity 。
无论哪种方式,解决你想改变的问题
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock" >
到
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.MyTheme" >
或者您可以将主题直接应用到您的 Activity 中:
<activity
android:name="com.awesome.package.activity.SomeActivity"
android:theme="@style/Theme.MyTheme"/>
关于android - 更改选项卡中的线条颜色 - ActionBarSherlock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11824627/