设置android动作栏的背景颜色

时间:2014-04-05 08:19:40

标签: android android-actionbar compatibility android-compatibility

我正在使用兼容性库v7。

我只是想将我的操作栏(适用于Android 2.1及更高版本 - 虽然我运行Android 4.4.2)的颜色设置为纯色。

但颜色不会改变。它保持不变。

我也尝试用颜色创建一个实心的drawable,但也没有改变。

最后,我测试了是否可以更改布局的背景,我可以 - 它必须是关于动作栏背景的内容,我不会得到。

以下是代码:

    <?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="CustomActionBarTheme"
           parent="@style/Theme.AppCompat.Light.DarkActionBar">

        <!-- Support library compatibility -->
        <item name="actionBarStyle">@style/MyActionBar</item>
    </style>

    <style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">

         <item name="android:background">#0000ff</item>  

    </style>
</resources>

5 个答案:

答案 0 :(得分:1)

这似乎对我有用。尝试使用资源而不是原始值。

<style name="app_theme" parent="@android:style/Theme.Holo">
    <item name="android:actionBarStyle">@style/app_action_bar</item>
</style>

<style name="app_action_bar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:background">@color/google_lightest_gray</item>
    <item name="android:icon">@android:color/transparent</item>
    <item name="android:windowActionBarOverlay">false</item>
</style>

答案 1 :(得分:0)

getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#808080")));中使用Activity extends SherlockActivity或根据您的意愿使用颜色:)

答案 2 :(得分:0)

您可以使用:

getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.color.colorname));

答案 3 :(得分:0)

使用以下代码getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.actionbar_bg_color.xml));

actionbar_bg_color.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
      <solid android:color="@color/actionbar_bg"/>  <!-- set desired #0000ff color in color.xml
 you can use here solid color as well as gradient -->
 </shape>

希望这能帮到你

答案 4 :(得分:0)

我解决了它:

  • 正确安装support-v7-appcompat库。我的错误。
  • 将样式转移到每个版本的res / values / styles.xml文件,即一个用于向后兼容,一个用于值-v11。

我不知道为什么我无法在themes.xml中获得我想要的结果。

如果有人有答案,我将不胜感激