Android 浅色/深色主题操作栏文本

2024-01-02

我正在我的 Playground Android 应用程序中实现深色主题,并且正在努力将操作栏文本颜色设置为白色。

下面是我的风格和颜色。操作栏的背景遵循 colorPrimary,这很棒。然而,两种颜色(浅色和深色)都是非常深色的颜色,并且希望操作栏文本颜色始终为白色。由于我现在使用 DayNight.NoActionBar 作为父项,因此浅色为黑色,深色为白色。我有几个不同的操作栏实例,因此我不想更改每个单独的实例,而只是在样式中定义它。我该怎么做呢?

样式.xml

<style name="DarkThemeApp" parent="@style/Theme.MaterialComponents.DayNight.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="colorError">@color/colorError</item>
    <item name="android:textColor">?android:attr/textColorPrimary</item>
</style>

夜晚\colors.xml

<resources>
    <color name="colorPrimary">#3d85c6</color>
    <color name="colorPrimaryDark">#002e72</color>
    <color name="colorAccent">#e66f00</color>
    <color name="colorYellow">#FFE800</color>
    <color name="colorError">#E53935</color>
</resources>

值\颜色.xml

<resources>
    <color name="colorPrimary">#00348e</color>
    <color name="colorPrimaryDark">#002e72</color>
    <color name="colorAccent">#e66f00</color>
    <color name="colorYellow">#FFE800</color>
    <color name="colorError">#E53935</color>
</resources>

使用材质主题,您可以使用不同的选项来自定义文本颜色Toolbar

  • Use the android:theme仅覆盖您的默认值Toolbar
<com.google.android.material.appbar.MaterialToolbar
    android:theme="@style/MyThemeOverlay_Toolbar"
    ...>

and use:

  <style name="MyThemeOverlay_Toolbar" parent="ThemeOverlay.MaterialComponents.Toolbar.Primary">
    <!-- color used by the toolbar title -->
    <item name="android:textColorPrimary">@color/secondaryColor</item>
    <!-- color used by navigation icon and overflow icon -->
    <item name="colorOnPrimary">@color/secondaryColor</item>
  </style>
  • Set a style在你的Toolbar
<com.google.android.material.appbar.MaterialToolbar
    style="@style/MyToolbar"
    .../>

然后使用materialThemeOverlay覆盖默认值(需要材质组件库版本 1.1.0):

  <!-- Toolbar -->
  <style name="MyToolbar" parent="Widget.MaterialComponents.Toolbar">
    <item name="materialThemeOverlay">@style/MyThemeOverlay_Toolbar</item>
  </style>

  <style name="MyThemeOverlay_Toolbar" parent="">
    <item name="android:textColorPrimary">@color/secondaryColor</item>
    <item name="colorOnPrimary">@color/secondaryColor</item>
  </style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 浅色/深色主题操作栏文本 的相关文章

随机推荐

  • CocoaPods 安装/搜索 pod 时出错

    我正在尝试在我的项目中使用一些 Pod 但终端结果是 pod install Analyzing dependencies Unable to find a specification for Mantle 因此 我尝试搜索该 Pod 或其
  • React Native:未找到哈希字符串“android-28”的目标

    当尝试从命令行构建 React Native android 应用程序时 我遇到了以下问题 它位于 Ubuntu Server 上 因此没有 Android Studio GUI 我有android 28安装在错误指出的文件夹中 ANDRO
  • 未初始化的常量 Active Scaffold Rails 2.3.5

    我将 Rails 应用程序从 2 0 2 更新到 2 3 5 我使用主动支架作为管理部分 我没有更改代码 但更新出现了问题 我有一个控制器 admin user controller 来管理用户 这是控制器的代码 class Admin U
  • XML 文件的长度

    我有一个大小为 31 GB 的 XML 文件 我需要找到该文件中的总行数 我知道命令wc l会给我同样的 但是执行此操作花费的时间太长 有没有更快的机制来查找大文件中的行数 31 gigs 是一个非常大的文本文件 我打赌它会压缩到大约 1
  • 输入数字字段时移动浏览器上“输入/下一个”键的行为

    我这里有一行代码 不涉及表单
  • 如何在 OpenOffice 中进行简单的邮件合并

    我需要使用 C VBScript VB Net 或 C 通过 OLE 或本机 API 在 OpenOffice 中进行简单的邮件合并 有什么好的例子吗 我还没有想出一个令我非常满意的解决方案 但这里有一些注意事项 问 什么是用于邮件合并的
  • 将列表转换为 Pandas Dataframe 列

    我需要将列表转换为单列 pandas 数据框 当前列表 len 3 Thanks You Its fine no problem Are you sure 所需的 Pandas DF 形状 3 0 Thank You 1 Its fine
  • statsmodels ARIMA 结果与原始数据的比较

    我有一个包含季节性成分的时间序列 我安装了 statsmodels ARIMA model tsa arima model ARIMA data 8 1 0 fit 例如 现在 我了解到 ARIMA 与我的数据存在差异 我如何比较结果 pr
  • 从 git 命令获取 JSON,例如 git status

    如果我运行这个命令 git status I get On branch master Your branch is up to date with origin master nothing to commit working direc
  • WPF绑定以更改椭圆的填充颜色

    如何以编程方式更改 XAML 中基于变量定义的椭圆的颜色 我读到的关于绑定的所有内容都是基于集合和列表 我不能根据字符串变量的值简单地 字面意思 设置它吗 字符串颜色 红色 颜色 FF0000 值得指出的是 其他帖子引用的转换器已经存在 这
  • 如何调试类型级程序

    我正在尝试进行一些类型级别的编程 但它不起作用 我正在绞尽脑汁地试图弄清楚为什么 GHC 完全无法推断出我想要的类型签名 有什么方法可以制作GHC吗tell me它在做什么 I tried ddump tc 它只打印出最终的类型签名 是的
  • MySQL GROUP BY 和填充空行

    我确信之前已经回答过这个问题 但我找不到我需要的详细信息 对于分析系统 我需要能够对行进行分组并将它们返回到图表上 或者按minute 小时 日 月或年 我的工作正常 下面的示例代码 SELECT COUNT DISTINCT user i
  • .htaccess 首先检查 cookie,然后检查有效用户

    我的 apache 服务器上的目录有一个 htaccess 文件 目前 这使用 mod auth mysql 进行用户验证以查看目录列表 但是 如果用户已经登录到我的应用程序 因此存在 cookie 我想跳过有效用户要求 从而消除多次登录
  • ASP.NET MVC 4 RC Web API 参数绑定问题

    我在 ASP NET MVC 4 RC Web API 中遇到了一个奇怪的绑定问题 我有一种方法旨在接受客户端的发布请求 问题是 当调用 post 方法时 没有任何参数绑定 我到达了抛出行上的断点 并且名称 电子邮件均为空 如果我在 Jav
  • 使用 jQuery + ERB 在视图中获取 6:Fixnum (Rails) 的未定义方法“gsub”?

    我正在尝试将一些 jQuery ERB 添加到特定视图 views posts show html erb 文件顶部 h2 posts show h2 etc div class div
  • std::make_shared 是否执行值初始化(GCC 和 clang 不同意)?

    我的意思可以用下面的例子来解释 auto p std make shared
  • 如何在 iPad 中解析 XML 文件时处理 CDATA 标签

    我正在开发一个应用程序 需要解析一些包含 CDATA 标签的 XML 文件 解析普通 xml 非常简单 但我在检索 CDATA 标记内的数据时遇到问题 The parser foundCDATA 为遇到的每个 CDATA 标记调用方法 其中
  • Sidekiq Perform_later 无法与操作电缆一起使用

    我在我的应用程序中设置了基本的有线聊天功能 我有一个 after create commit 回调 它将消息发送到要广播到适当通道的作业 当设置为perform now时它可以正常工作 但当设置为perform later时则不起作用 Si
  • 将两个变量相除得到 NaN

    我正在学习 JavaScript 我当前的代码似乎适用于总价值 但我无法让我的部门代码发挥作用来显示每人的成本是多少 这似乎是问题所在 document getElementById costeach innerHTML Price eac
  • Android 浅色/深色主题操作栏文本

    我正在我的 Playground Android 应用程序中实现深色主题 并且正在努力将操作栏文本颜色设置为白色 下面是我的风格和颜色 操作栏的背景遵循 colorPrimary 这很棒 然而 两种颜色 浅色和深色 都是非常深色的颜色 并且