操作栏颜色不会随 AppCompat 改变 v7:21

Action Bar color doesn't change with AppCompat v7:21

目前我正在尝试为 AppCompat 上的操作栏设置自定义背景颜色 v7:21。我已经尝试了很多可能性,直到现在我都不知道发生了什么。

这是我的 res/values/styles.xml:

<resources>

    <color name="action_bar">#000</color>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light">
        <!-- Customize your theme here. -->
        <item name="actionBarStyle">@style/MyActionBar</item>

    </style>

    <!-- ActionBar styles -->
    <style name="MyActionBar" parent="Widget.AppCompat.Light.ActionBar">
        <item name="android:background">@color/action_bar</item>

    </style>

</resources>

我想通了!事实上,很多 UI 东西在 API 21 上发生了变化,AppCompat v7 也是如此。你可以设置 操作栏颜色(以及其他颜色)如下:

<!-- extend one of the Theme.AppCompat themes -->
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
    <!-- customize the color palette -->
    <item name="colorPrimary">@color/material_blue_500</item>
    <item name="colorPrimaryDark">@color/material_blue_700</item>
    <item name="colorAccent">@color/material_green_A200</item>
</style>

其中 color* 键定义相关视图的颜色,提供在 Lollipop 上观察到的视觉一致性,即:不可能(通过我的反复试验检查),在使用 AppCompat v7 时单独设置这些颜色,就像我想做的那样。

Obs.:几个小时前,我曾尝试在 <style>parent="Widget.AppCompat.Light.ActionBar" 上使用它们,但没有用。它们必须放在 "root" <style> 元素中。正是这种错误让我写下了这个。

对不起我的英语水平。