更改 Android 5.0 操作栏颜色
Posted
技术标签:
【中文标题】更改 Android 5.0 操作栏颜色【英文标题】:Change Android 5.0 Actionbar color 【发布时间】:2014-12-16 03:43:12 【问题描述】:我正在使用新的 Lollipop Material Design 指南,并希望将漂亮的导航抽屉动画合并到我的应用程序中。通过使用 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>
【问题讨论】:
【参考方案1】:AppCompat 不使用 android:
前缀属性为 Material Theme color palette 项目每个 migration guide to v21 by the author of AppCompat。相反,只需使用名称本身:
<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>
操作栏将由colorPrimary
着色。
【讨论】:
但是我的FAB,通常与colorPrimary匹配,是黑色的,而它应该是蓝色的...... 这在几天前可以使用,但是在我昨天左右更新了 appcompat 支持库后(到 21.0.1 版),它突然不适用于 Android 5.0。对于 L 之前的版本,actoinbar 显示为 colorPrimary 定义,但在 Android 5.0 上,它始终是透明的。你面临这个(问题)吗? @Qianqian - 21.0.1 没有对 AppCompat 进行任何更改(仅添加了 Multidex 库),因此如果它与 21.0.0 一起使用,那是您更改的其他内容。 @ianhanniballake,非常感谢您的回答。我刚刚发现我遇到了问题,因为我重新定义了操作栏样式以删除 v21 的高度...以上是关于更改 Android 5.0 操作栏颜色的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android 4.2 中更改操作栏选项菜单的背景颜色?