如何修改Toolbar项目颜色?Toolbar设黑背景后将项目改为灰色的方法
解决Toolbar背景黑色且项目改为灰色的问题
我来帮你搞定这个需求!要实现Toolbar背景设为黑色,同时把标题、菜单图标这些项目改成灰色,你可以按照下面的步骤来调整:
1. 先修改Toolbar的背景色
直接在你的toolbar.xml里把android:background的值改成黑色就行,比如用@android:color/black或者十六进制的#000000。
2. 调整Toolbar的项目颜色(标题、图标等)
你当前用的ThemeOverlay.AppCompat.Dark.ActionBar默认会让项目显示浅色,但你想要灰色,这里有两种简单的实现方式:
方式一:自定义Overlay主题(更规范)
在styles.xml里新增一个自定义的Toolbar主题,专门控制颜色:
<style name="CustomToolbarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> <!-- 设置Toolbar标题的颜色为灰色 --> <item name="android:textColorPrimary">@color/toolbar_gray</item> <!-- 设置返回箭头、菜单图标等控件的颜色 --> <item name="colorControlNormal">@color/toolbar_gray</item> <!-- 如果菜单弹出后文字颜色不对,加上这行 --> <item name="android:textColorSecondary">@color/toolbar_gray</item> </style>
然后把Toolbar的android:theme替换成这个自定义主题,同时更新背景色:
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/black" android:theme="@style/CustomToolbarOverlay">
方式二:直接在Toolbar标签里加属性(更快捷)
如果不想额外定义主题,也可以直接在Toolbar标签里添加颜色控制属性,记得先加上app命名空间:
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/black" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" <!-- 控制标题颜色 --> android:textColorPrimary="@color/toolbar_gray" <!-- 控制图标颜色 --> app:colorControlNormal="@color/toolbar_gray">
3. 定义灰色的颜色值
最后在你的colors.xml文件里添加你想要的灰色值,比如:
<color name="toolbar_gray">#888888</color>
你可以根据需求调整灰度,比如#AAAAAA是偏浅的灰,#666666是偏深的灰。
这样调整之后,你的Toolbar背景就会变成黑色,所有项目元素都会显示你设置的灰色啦!
内容的提问来源于stack exchange,提问作者Jason Momoa
相关产品推荐
相关产品推荐

