能否以编程方式更改原生 android 初始屏幕颜色,以便将其设置为适合 Flutter 应用程序选择的主题?
有点像当系统主题设置为深色时,WhatsApp 启动画面如何在深色主题中加载。
深色和浅色 WhatsApp 闪屏:
我猜这使用了两个主题作为启动屏幕,它们与系统主题相关联,但我不太了解如何以及是否可能。
所以问题是:是否可以在运行 Flutter 应用程序时更改启动画面的颜色/主题,以便在应用程序的下一次启动时,原生 android 启动画面以与 Flutter 应用程序相同的主题加载?
(对不起,如果我重复了很多次,但我想尽可能好地描述我的要求)
最佳答案
在您的项目文件夹的 android/app/src/main/res
中应该有 drawable
文件夹,其中包含 launch_background.xml
用于轻主题。复制此文件夹并调用第二个 drawable-night
并配置深色主题样式。它将根据 Android 的系统主题自动更改。launch_background.xml
在 drawable
(轻主题)文件夹可以这样构造,以显示具有白色背景的图像:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />
<item>
<bitmap
android:gravity="center"
android:src="@drawable/launch_image" />
</item>
</layer-list>
在 launch_background.xml
中也可以这样做。在 drawable-night
(深色主题)文件夹,替换 "@android:color/white"
与 "@android:color/black"
为黑色背景。请注意,图像必须在
drawable
内和 drawable-night
分别使用的文件夹。据我所知,格式必须是png。我找到了this useful article解决并解释 native 闪屏主题。
关于android - 有没有办法根据应用程序主题更改初始屏幕颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60340879/