首页 > 解决方案 > 根据应用程序主题而不是系统选择启动画面图像和背景颜色(忽略 MODE_NIGHT_FOLLOW_SYSTEM。)

问题描述

我正在为我的 android 应用程序使用 DayNight 主题,并且我已经创建了一个 values-night 目录来按照我想要的方式自定义我的主题,一切都运行良好,问题是当我启动我的应用程序时,选择了启动屏幕颜色取决于系统主题。

假设系统主题是浅色的,而我的应用程序是深色主题,当启动我的应用程序时,初始屏幕将是浅色,然后应用程序的其余部分将是深色主题,如果我们将应用程序主题更改为浅色和系统主题变暗,然后当我启动我的应用程序时,初始屏幕将采用深色主题颜色,但应用程序的其余部分将采用浅色主题。

我环顾四周,发现 dayNight 主题从系统主题中获取应用程序主题的默认值,您可以在 setDefaultNightMode 描述中阅读

设置默认夜间模式。这用于所有活动/对话框,但可以通过 setLocalNightMode(int) 在本地覆盖。此方法仅在 applyDayNight() 有效的情况下生效。默认为 MODE_NIGHT_FOLLOW_SYSTEM。这仅对调用后创建的组件生效。任何已经打开的组件都不会更新。

我想知道是否有办法更改该默认值?或更改默认值的来源。

标签: androidkotlin

解决方案


推荐阅读