【问题标题】:How to change color of the action bar using actionbarsherlock如何使用 actionbarsherlock 更改操作栏的颜色
【发布时间】:2014-02-25 17:03:12
【问题描述】:

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

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

【问题讨论】:

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

标签: android actionbarsherlock android-theme


【解决方案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>

【讨论】:

  • hmmm 我想知道在 4.4 之后更改操作栏颜色的选项有哪些。
  • 这样就可以编译并运行代码了,但是操作栏的颜色还是一样的。我什至在我所有活动的onCreate 中添加了setTheme(R.style.Theme_MyTheme)
  • 您是否在所有styles.xml 文件中设置相同的主题?如果您有多个用于不同版本的 styles.xml(例如包含在 values、values-v11、values-v14、...中),如果测试设备运行的是较新版本,您将不会在测试设备上看到该主题,直到您也修改这些...您也可以尝试删除 alpha(仅使用 #f4231e 作为颜色),尽管我怀疑它可能会导致问题。不需要调用 setTheme,只需在 Manifest 中的应用程序节点下设置 android:theme="@style/Theme.MyTheme" 即可。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多