2014-02-25 42 views
2

我正尝试在应用程序中更改操作栏的颜色。我找到了this answer这表明了一种方法。所以,我创建了一个themes.xml文件res/values文件夹下有以下几点:如何使用actionbarsherlock更改操作栏的颜色

<?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:[email protected]' 

我使用AndroidStudio和摇篮

+0

如果你正在使用Eclipse,我有时编辑我的风格的时候会有奇怪解析错误。 xml文件。您是否尝试打开“问题”窗口,删除错误消息并尝试重建项目? - 另外,如果您使用的是4.2.0或更高版本,那么显然它已被删除:http://stackoverflow.com/a/13180285/1426565 – Guardanis

回答

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

嗯我不知道什么是4.4后改变操作栏的颜色的选项,然后。 – Anthony

+0

编辑我的答案。这对你有用吗? – 2Dee

+0

获取代码编译并运行,但是,操作栏的颜色仍然相同。我甚至在我的所有活动的“onCreate”中添加了'setTheme(R.style.Theme_MyTheme)'。 – Anthony