【问题标题】:change the background of an action bar on an activity that extends ActionBarActivity在扩展 ActionBarActivity 的活动上更改操作栏的背景
【发布时间】:2015-05-31 00:12:58
【问题描述】:

我正在尝试更改扩展 ActionBarActivity 的活动的操作栏背景颜色。到目前为止,我的 styles.xml 看起来像这样

<style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
    <item name="android:background">#ff2b8bff</item>
</style>

然后我像这样调用清单中的样式

 android:theme="@style/AppTheme"

问题是操作栏总是灰色的,它永远不会变成我指定的颜色。我知道已经有很多关于此类问题的信息,但没有一个对我有用。我只是想知道我错过了什么。

【问题讨论】:

  • 你用的是哪个api?
  • @Ryan 不幸的是,这会导致错误“您需要在此活动中使用 Theme.AppCompat 主题(或后代)。”
  • 你在用什么ActionBarActivityActivity
  • 我正在使用 ActionBarActivity

标签: android xml android-actionbar android-actionbaractivity


【解决方案1】:

应该这样做:

<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@color/red</item>
    <item name="background">@color/red</item>
</style>

来自here

【讨论】:

    【解决方案2】:

    您遇到此问题的原因是因为您从事的活动 尝试将对话框主题应用于扩展 ActionBarActivity 这需要应用AppCompat 主题。

    将 Java 继承从 ActionBarActivity 更改为 Activity 和 保留清单中的对话框主题。

    来源:https://stackoverflow.com/a/21815015/3498044

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多