如何使用actionbarsherlock更改操作栏的颜色

时间:2014-02-25 17:03:13

标签: android actionbarsherlock android-theme

我正在尝试在我的应用中全面更改操作栏的颜色。我发现this answer提示了一种方法。所以我在themes.xml文件夹下创建了一个res/values文件,其中包含以下内容:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Theme.MyTheme" parent="Theme.Sherlock.ForceOverFlow">
        <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">#fff4231e</item>
        <item name="background">#fff4231e</item>
    </style>
</resources>

但是,我在上面的代码中收到错误:

  

检索项目的父项时出错:找不到与之匹配的资源   名称为'Theme.Sherlock.ForceOverFlow'。

在我的build.gradle中,我有以下内容:

compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'

我正在使用AndroidStudio和Gradle

1 个答案:

答案 0 :(得分:1)

ActionBarSherlock版本4.4不包含ForceOverflow主题,它已在4.2中删除。您需要使用旧版本的ABS才能将ForceOverflow用作主题。

根据Change Log

  

修复:删除.ForceOverflow主题。这些本来就不应该   包括在内。

如果您实际上不需要ForceOverflow,可以使用Theme.Sherlock,有关详细信息,请参阅the official page

<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>