Android 当主题为深色时更改品牌启动背景颜色

2024-04-06

我在我的应用程序中实现了深色主题。一切正常,当系统处于深色模式时,应用程序也处于深色模式,反之亦然。

问题是品牌启动。我有 2 个可绘制文件:

Dark:

<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque">

    <item android:drawable="@color/splashColorDark"/>

    <item>

        <bitmap
                android:src="@drawable/logo_branded"
                android:mipMap="true"
                android:gravity="center"/>

    </item>

</layer-list>

还有光:

 <?xml version="1.0" encoding="utf-8"?>

    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque">

        <item android:drawable="@color/splashColorLight"/>

        <item>

            <bitmap
                    android:src="@drawable/logo_branded"
                    android:mipMap="true"
                    android:gravity="center"/>

        </item>

    </layer-list>

为了使用品牌发布,我添加了以下内容:

android:theme="@style/AppTheme.BrandedLaunchLight"

in my AndroidManifest.xml

显然,这样做我无法在黑暗模式处于活动状态时设置黑暗品牌启动。我应该怎么办?


只需使用一个DayNight theme (Theme.MaterialComponents.DayNight or Theme.AppCompat.DayNight)在您的应用程序中。
然后使用-night预选赛 https://developer.android.com/guide/topics/resources/providing-resources.html#NightQualifier在您的资源文件夹中作为drawable-night and values-night.

这意味着在深色和浅色主题的品牌发布中为您的可绘制对象使用相同的名称,但使用drawable-night and drawable folder.
您可以对颜色执行相同的操作。而不是使用@color/splashColorDark and @color/splashColorLight使用单一名称splashColor并将其放入values-night\colors.xml and values\colors.xml

Note。检查官方文档 https://developer.android.com/guide/topics/ui/look-and-feel/darktheme#launch_screens:

启动屏幕

如果您的应用程序有自定义启动屏幕,则可能需要对其进行修改以反映所选主题。

删除任何硬编码颜色,例如任何指向的背景颜色可能是白色。使用?android:attr/colorBackground相反主题属性.

注意黑暗主题 android:windowBackground绘图仅适用于 Android Q.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 当主题为深色时更改品牌启动背景颜色 的相关文章

随机推荐

  • 如何按名称查找 Eclipse 项目和文件夹?

    有没有办法在 Eclipse 工作区中按名称搜索文件夹 项目 结果最好在我可以执行批量操作 例如关闭 打开 分配工作集 的视图中返回 手动点击数百个项目的列表实在是太麻烦了 这个看似微不足道的任务让我感到悲伤 在我经历了这么多年的日食之后
  • 如何停止后台运行的 PHP 脚本

    我开始这个过程 time php
  • 取消 handler.postdelayed 进程

    我在用handler postDelayed 在我的应用程序的下一阶段发生之前创建一个等待期 在等待期间 我显示一个带有进度条的对话框 cancel button 我的问题是我找不到办法取消帖子延迟时间过去之前的任务 我这样做是为了发布延迟
  • VS Code 远程 SSH 连接不起作用

    我正在尝试在第二台电脑上使用远程开发扩展设置 vscode 虽然它适用于我的主要一台 但不适用于第二台 尝试重新安装 vscode 扩展并使用旧版本 但没有任何效果 尝试连接时 选择操作系统后会取消 所以我什至无法输入密码 我的设置方式与另
  • 为什么“导入模块”然后“从包导入模块”再次加载模块?

    我的 PYTHONPATH 中有一个包 看起来像这样 package init py module py print Loading module 如果我从以下位置运行 Pythonpackage 目录 或在此目录中写入另一个模块 并输入
  • 如何在 sql 中创建查询以将句子切分成单词并将它们及其频率添加到新表中

    我正在尝试执行一个查询 但不确定是否可行 我有一张桌子叫句子其中包含IS 句子和验证 如下图所示 我还有另一张桌子叫字数其中包含 ID 单词和出现频率 所以我希望每当一个句子输入更新或删除时 该表都会相应更新或每天更新 因为可能有很多句子
  • 返回带有对象名称 MVC 的 Json 结果

    当控制器返回 json 结果时 对象名称似乎丢失了 我通常不会介意 但 flexbox jquery 插件需要特定格式的 json 结果 Flexcombobox 预期格式 results id 1 name Ant id 2 name B
  • 使用新的日期时间 API 设置日期格式

    我正在使用新的日期时间 API 但运行时 public class Test public static void main String args String dateFormatted LocalDate now format Dat
  • Delphi XE2:如何使用序数值 > 255 的整数集

    我想做的就是定义一组值可能高于 255 的整数 但我没有看到任何好的选择 例如 with MyObject do Visible Tag in 100 155 200 225 240 Works just fine but with MyO
  • Django 和 uWSGI 的内部服务器错误

    我正在尝试按照本指南中的步骤操作 http uwsgi docs readthedocs org en latest tutorials Django and nginx html http uwsgi docs readthedocs o
  • 如果不需要的话 CSS 隐藏滚动条

    我正在尝试找出如何隐藏overflow y scroll 如果不需要 我的意思是 我正在构建一个网站 我有一个将显示帖子的主要区域 如果内容不超过当前宽度 我想隐藏滚动条 另外 我的第二个问题 我想做到这一点 以便当帖子超过当前宽度时 宽度
  • 将清单嵌入到 exe 文件中

    我有一个 manifest链接到的文件 exe程序文件 以便在打开时要求管理员权限 现在它是一个单独的文件 名为program name exe manifest这是与以下相同的文件夹program name exe 有什么方法可以将清单文
  • 通过宏/环境变量定义解决方案中的项目路径

    有没有办法使用用户宏 环境变量在解决方案中定义项目文件路径 我似乎无法做到这一点 有点像环境变量用于定义 C 项目中的附加包含目录 但我想对解决方案中项目文件的位置执行相同的操作 我尝试在文本编辑器中编辑解决方案以更改以 MyMacroNa
  • Fiddler 不解压缩 gzip 响应

    I use Fiddler调试我的应用程序 每当服务器压缩响应而不是解压缩响应时 Fiddler 都会显示不可读的二进制数据 Response to my request POST HTTP 1 1 200 OK Server xyz co
  • linq to sql loadwith 与 Associatewith

    loadwith 和 Associatewith 之间有什么区别 从我读到的文章看来 loadwith 用于加载附加数据 例如客户的所有订单 而AssociateWith用于过滤数据 这是正确的理解吗 如果有人可以用基于示例的解释来解释这一
  • Laravel 4:发布包的资产

    如何发布包资源 我在这里找到了一个教程 http laravel recipes com recipes 279 http laravel recipes com recipes 279 但是当我尝试从工作台发布资产时 出现以下错误 Run
  • PHP、MySQL:接收电子邮件,在数据库中自动搜索并根据结果发送电子邮件

    访客可以通过联系表联系工作人员 访客还需要提交电子邮件 这将存储在数据库中 现在考虑到工作人员回复此消息 工作人员的回复将直接发送到访客的电子邮件中 假设用户想要跟进工作人员发送的消息 我希望访问者只需点击电子邮件服务中的回复按钮 然后向我
  • 标准化整数与浮点的转换

    我需要将标准化整数值与实际浮点值相互转换 例如 对于 int16 t 值 1 0 用 32767 表示 1 0 用 32768 表示 尽管对每个整数类型 有符号和无符号 执行此操作有点乏味 但手动编写仍然很容易 然而 我想尽可能使用标准方法
  • 增加 Java 中主题的分区数量

    我正在使用名称 卡夫卡 2 12版本 2 3 0 根据我想更改的流量 负载最大分区某个主题的编号 Kafka启动后是否可以进行这种更改 并且可以通过代码完成吗 是的 您可以通过代码增加分区 使用AdminClient createParti
  • Android 当主题为深色时更改品牌启动背景颜色

    我在我的应用程序中实现了深色主题 一切正常 当系统处于深色模式时 应用程序也处于深色模式 反之亦然 问题是品牌启动 我有 2 个可绘制文件 Dark