当我的应用程序加载时,它经历了3个阶段,我正在尝试弄清楚如何使它们保持一致。
启动
Flutter启动画面?
主应用程序页面
我正在尝试让它们全部变成最后一个(白色标题),但是我无法让它正常工作(特别是灰色条)。
无论statusBarColor是什么,状态栏都会开始变成黑色。
windowLightStatusBar会使图标变黑(这感觉像是进步)。
windowDrawSystemBarBackgrounds确实会将状态栏变为白色,但是居中的图像会向下移动(我猜这是有道理的,因为应用程序不控制那个空间?)。
如果我使用上述选项,灰色的标题仍然出现,并且当它从第一阶段切换到第二阶段时,中心图像会移动。
我目前不知道如何解决灰色标题问题。
Launch_background.xml
在Flutter中,我的视图上有:
启动
![enter image description here](https://istack.dev59.com/bVpaH.webp)
![enter image description here](https://istack.dev59.com/o6ceC.webp)
![enter image description here](https://istack.dev59.com/UMMdh.webp)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">@drawable/launch_background</item>
<!-- <item name="android:windowLightStatusBar">true</item> -->
<!-- <item name="android:windowDrawsSystemBarBackgrounds">true</item> -->
<!-- <item name="android:statusBarColor">@android:color/transparent</item> -->
</style>
</resources>
无论statusBarColor是什么,状态栏都会开始变成黑色。
windowLightStatusBar会使图标变黑(这感觉像是进步)。
windowDrawSystemBarBackgrounds确实会将状态栏变为白色,但是居中的图像会向下移动(我猜这是有道理的,因为应用程序不控制那个空间?)。
如果我使用上述选项,灰色的标题仍然出现,并且当它从第一阶段切换到第二阶段时,中心图像会移动。
我目前不知道如何解决灰色标题问题。
Launch_background.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />
<!-- You can insert your own image assets here -->
<item>
<bitmap
android:gravity="center"
android:src="@drawable/logo" />
</item>
</layer-list>
Android清单文件
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:windowSoftInputMode="adjustResize">
<!-- This keeps the window background of the activity showing
until Flutter renders its first frame. It can be removed if
there is no splash screen (such as the default splash screen
defined in @style/LaunchTheme). -->
<meta-data
android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
android:value="true" />
在Flutter中,我的视图上有:
SystemChrome.setSystemUIOverlayStyle(
SystemUiOverlayStyle(
statusBarColor: Colors.transparent,
statusBarIconBrightness: Brightness.dark,
statusBarBrightness: Brightness.dark,
),
);