【发布时间】:2022-12-17 18:35:58
【问题描述】:
我正在向现有应用程序添加 Android 12+ 启动画面。我想保留 Android < 12 的现有启动画面,因此我在“values-v31”文件夹中定义“新”启动画面样式。这是res/values-v31/styles.xml的内容:
<resources>
<!-- Splash Screen Theme (Android 12+)
Ref: https://developer.android.com/develop/ui/views/launch/splash-screen/migrate
-->
<style name="AppTheme.Splash">
<item name="android:windowSplashScreenAnimatedIcon">@drawable/ic_foreground</item>
<item name="android:windowSplashScreenBackground">@color/primary</item>
</style>
</resources>
在模拟器(使用 Pixel4a 设备)中测试时效果很好。但是,在真实设备(Poco X4 Pro 5G)中进行测试时,我发现当设备配置为夜间模式时,背景颜色会被忽略。复制“values-night-v31”文件夹中的 styles.xml 文件可以解决问题,但我认为这不是必需的。
我错过了什么吗?
【问题讨论】:
-
哪个androidx.core:核心启动画面你用的版本?
-
没有任何。我没有使用兼容库,因为我只想使用适用于 Android 12+ 的新启动画面。
-
你的
@color/primary有夜间主题变体吗? -
@SovathnaHong 不,我没有定义夜间主题变体(我想使用相同的颜色)。我是不是该 ?
-
您将需要两个主题文件:一个用于白天,另一个用于晚上。确保在两个主题中都包含样式以使其正常工作。此外,还有两个颜色文件:一个用于白天,另一个用于夜间,根据白天和夜间模式更改颜色。
标签: android