更改Android 5.0 Actionbar颜色

Pla*_*ys2 9 android themes android-actionbar

我正在使用新的Lollipop材料设计指南,并希望在我的应用程序中加入那个漂亮的导航抽屉动画.通过使用android.support.v7.app.ActionBarDrawerToggle,我已经做到了这一点,但现在我很难改变所述操作栏的颜色.无论我将主题设置为什么,它都会保持亮灰色.怎么会改变动作栏的颜色?这是我的应用主题的样子:

//res/values/styles.xml
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">

    <item name="android:actionBarStyle">@style/ActionBar</item>
    <item name="android:colorPrimary">@color/primaryDef</item>
    <item name="android:colorPrimaryDark">@color/primaryDarkDef</item>
    <item name="android:activatedBackgroundIndicator">@drawable/defbg</item>
    <item name="android:colorAccent">@color/primaryDef</item>
    <item name="android:navigationBarColor">@color/primaryDarkDef</item>

</style>

<style name="ActionBar" parent="android:Widget.ActionBar">
    <item name="android:background">@color/primaryDef</item>
</style>
Run Code Online (Sandbox Code Playgroud)

ian*_*ake 25

根据AppCompat 的作者v21迁移指南, AppCompat不使用Material Theme调色板项目的android:前缀属性.相反,只需使用名称本身:

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">

    <item name="colorPrimary">@color/primaryDef</item>
    <item name="colorPrimaryDark">@color/primaryDarkDef</item>
    <item name="colorAccent">@color/primaryDef</item>

    <item name="android:navigationBarColor">@color/primaryDarkDef</item>
    <item name="android:activatedBackgroundIndicator">@drawable/defbg</item>
</style>
Run Code Online (Sandbox Code Playgroud)

动作栏将被着色colorPrimary.