android - 如何创建带有自定义颜色的文本和图标的白色工具栏?
问题描述
我必须创建一个具有自定义背景颜色(接近白色)的工具栏,并且它上面的所有元素(向上按钮、菜单按钮、标题等)也需要具有自定义颜色(所有这些都具有相同的自定义颜色)。
带有白色工具栏和深色文本的应用程序-> 答案 1 不起作用,因为它只更改状态栏,而不是工具栏,并且它仅从 API 级别 23 而不是 21 开始工作。
我当前的 styles.xml 文件如下所示:
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:buttonStyle">@style/AppTheme.Button</item>
<item name="actionBarTheme">@style/AppTheme.ActionBar</item>
</style>
<style name="AppTheme.Button" parent="Widget.AppCompat.Button">
<item name="android:textAllCaps">false</item>
</style>
<style name="AppTheme.ActionBar" parent="Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/action_bar_background</item>
</style>
现在的方式我可以控制工具栏的背景颜色,但我无法更改工具栏上元素的颜色。
我不想创建自定义工具栏,因为我不想更改任何行为。
解决方案
我实际上设法自己解决了它。
我添加了<item name="android:textColorPrimary">@color/toolbar_element_color</item>
toAppTheme.ActionBar
和<item name="colorControlNormal">@color/toolbar_element_color</item>
to AppTheme
。
我的 styles.xml 文件现在看起来像这样:
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="colorControlNormal">@color/toolbar_element_color</item>
<item name="android:buttonStyle">@style/AppTheme.Button</item>
<item name="actionBarTheme">@style/AppTheme.ActionBar</item>
</style>
<style name="AppTheme.Button" parent="Widget.AppCompat.Button">
<item name="android:textAllCaps">false</item>
</style>
<style name="AppTheme.ActionBar" parent="Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/action_bar_background</item>
<item name="android:textColorPrimary">@color/toolbar_element_color</item>
</style>
推荐阅读
- c++ - boost 错误:变量“timespec rqtp”具有初始化程序但类型不完整
- c# - 通过 JSON 标签读取 JSON
- r - 将列表拆分为长度为 x 的列表
- android - 如何使用 Rect 设置区域
- java - 当我添加重复项时,为什么 .contains 返回 false?
- python-3.x - 在 CSV 中写入行的 Python 问题
- javascript - 将图表元素转换为返回空图像的图像
- java - Spring Boot,Security OAuth2 Google Logout,没有自动登录
- asynchronous - 如何检查在哪个异步 CUDA 调用中出现了哪个 CUDA 错误?
- c++ - 两个 dll 破坏项目