如何为启动画面实现夜间模式?

8

我已经成功为我的应用程序添加了夜间模式。它适用于整个应用程序,除了启动画面。启动画面使用操作系统的夜间模式设置,而我应用程序级别的更改无法影响启动画面。有没有办法在启动画面中处理夜间模式?

风格:

<style name="SplashScreenTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">

    <item name="android:background">@drawable/logo</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>

</style>

@drawable/logo:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <color android:color="@color/compatible_night"/>
    </item>
    <item>
        <bitmap
            android:src="@drawable/grs"
            android:tileMode="disabled"
            android:gravity="center"
            />
    </item>
</layer-list>

colors.xml(night)

<color name="compatible_night">#121212</color>

colors.xml

<color name="compatible_night">#FFFFFF</color>

我尝试在夜间模式文件夹中使用样式,颜色和层级列表,但是没有起作用。


嘿,你解决了怎样使其工作的问题吗?我也遇到了类似的问题。 - saintjab
3
很遗憾,启动画面只遵循系统设置。 - Eren Tüfekçi
1
嗨,我使用了一种不同的方式来将启动画面颜色更改为夜间模式,一切都很顺利,但问题是,当你启动应用程序时,启动画面会短暂显示白天颜色,然后再变成夜晚模式。所以我还没找出为什么会这样。 - Mark Delphi
@MarkDelphi,你能找到解决方案吗? - Farzad
@Farzad,实际上我为启动画面定义了一个单独的主题,因此在应用程序启动时它不会遵循系统样式主题。这对我有用。 - Mark Delphi
很遗憾,@MarkDelphi,Android主题系统设计得非常糟糕。在应用程序开始时无法更改Android主题系统的颜色。 - Farzad
1个回答

2
为了不浪费您的时间,Android中的启动画面遵循默认的系统主题而不是应用程序主题。因此,将夜间模式应用于启动画面的唯一方法是在手机设置中打开深色模式,否则启动画面将以亮色模式显示。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接