我正在尝试在我的应用程序中全面更改操作栏的颜色。我发现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

最佳答案

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>

08-17 02:57