我已经在我的 android 应用程序中实现了深色 ui,一切正常,但我有一个启动器活动,它windowBackground
的风格像这样
<style name="AppTheme.Launcher" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="android:windowBackground">@drawable/l_launch_screen</item>
</style>
这l_launch_screen
是
<?xml version="1.0" encoding="utf-8"?>
<!-- The android:opacity=”opaque” line — this is critical in preventing a flash of black as your theme transitions. -->
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:opacity="opaque">
<!-- The background color, preferably the same as your normal theme -->
<item android:drawable="@color/colorPrimaryDark"/>
<!-- Your product logo - 144dp color version of your app icon -->
<item>
<bitmap
android:src="@drawable/app_round_icon"
android:gravity="center"/>
</item>
</layer-list>
并且这colorPrimaryDark
有两种颜色,一种是夜晚,另一种很简单现在问题是,当通过在 android q 通知面板中选择来激活深色主题时Dark theme
,android q 通知面板android:windowBackground
正在选择夜间颜色,但是当Dark theme
被 android 禁用并且在我的中选择了深色主题时应用程序通过在应用程序类中设置它
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
android:windowBackground
没有选择夜间颜色,但所有其他活动都在完美地选择夜间颜色我已经看到与WhatsApp
应用程序相同的行为所以这是一个错误还是我做错了什么我也尝试为夜间和可绘制定义不同的样式但正在发生同样的问题