更改操作栏的颜色

时间:2015-09-27 18:47:30

标签: android android-layout

我已经在线浏览了Android示例并仔细阅读了所有可用的文档,但我仍然感到困惑。我将Android SDK的第19版定位为minSDK。我需要做的就是改变动作栏的背景颜色。我的代码由于某种原因似乎不起作用。

  1. 我希望应用程序其余部分的窗口背景颜色为白色。
  2. 我希望操作栏的背景为蓝色。
  3. 以下是我的资源档案:

    <resources>
        <!-- Base application theme. -->
        <style name="AppTheme" parent="Theme.AppCompat.Light">
            <item name="android:windowBackground">@android:color/white</item>
            <item name="android:actionBarStyle">@style/post_action_bar</item>
        </style>
    
        <style name="post_action_bar" parent="@android:style/Widget.Holo.Light.ActionBar">
            <item name="android:background">@android:color/holo_blue_dark</item>
            <item name="android:backgroundStacked">@android:color/holo_blue_dark</item>
            <item name="android:backgroundSplit">@android:color/holo_blue_dark</item>
            <item name="android:windowActionBar">true</item>
            <item name="android:windowNoTitle">false</item>
        </style>
    </resources>
    

    这不起作用。该应用程序的其余部分是白色的,但我的酒吧颜色为浅灰色。

3 个答案:

答案 0 :(得分:2)

就像将它添加到AppTheme

一样简单
<!-- colorPrimary is used for the default action bar background -->
    <item name="colorPrimary">@color/my_awesome_color</item>

注意:只要主题的父级来自Theme.AppCompat并且您的支持库至少是v21,这将在pre-lolipop下工作,所以如果您还没有将支持库更新为最新版本,那么此时版本为v23 .0.1(我认为)

compile 'com.android.support:appcompat-v7:23.0.1'

如果您想了解有关样式化ActionBar的更多信息,请阅读this

答案 1 :(得分:2)

您可以尝试以编码方式设置

ActionBar ab = getActionBar();
    ab.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#000000")));

答案 2 :(得分:1)

https://developer.android.com/training/basics/actionbar/styling.html

在这里,你已经详细解释了Action Bar的样式。

祝你好运