最近在搞Toolbar时遇到一个问题,Toolbar上面的颜色总是和我期待的颜色不一样,我想要的效果是:
Toolbar标题颜色、返回按钮颜色、更多按钮颜色、点击更多后出现的菜单底色为白色更多按钮下的菜单字体为黑色
最后尝试了很多方法,最后发现这样设置两个地方就可以:
1. 在Toolbar属性里加上两个主题:
android:theme=”@style/ThemeOverlay.AppCompat.Dark.ActionBar”
app:popupTheme=”@style/ThemeOverlay.AppCompat.Light”
2.在主题中添加:
< item name=”android:textColorPrimary”>#FFFFFF< /item>
下面分别讲一下添加的这几行代码的含义:
android:theme=”@style/ThemeOverlay.AppCompat.Dark.ActionBar” 表示我们将Toolbar设置为深色主题,深色主题中的图标及字体为白色,这样就把返回按钮颜色、更多按钮颜色设置为了白色。如果只添加这一行代码标题并不会变为白色,而且点击更多按钮弹出的菜单框字体颜色为白色,底色为黑色,这不是我们想要的效果。
app:popupTheme=”@style/ThemeOverlay.AppCompat.Light” 表示我们将菜单设置为亮色主题,这样点开菜单框就会是白色底黑色字了。但是标题字体颜色还是黑色的,这就需要我们添加的第三行代码了:< item name=”android:textColorPrimary”>#FFFFFF< /item>
这一行代码联合我们第一个设置的主题,就能将标题颜色设置为白色。
总而言之,这三行代码相互起作用,少了哪一行都不能达到我们期望的效果~