状态栏在Android上的外观一致

时间:2019-12-12 15:12:06

标签: android flutter

我有一个新创建的Flutter应用程序,我将启动屏幕配置为在中间显示一些背景颜色和应用程序图标。

默认情况下,Android启动画面以看起来暗半透明的状态栏开始。我想将颜色更改为与初始背景相同。我设法做到了:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="LaunchTheme" parent="@android:style/Theme.NoTitleBar">
        <item name="android:windowBackground">@drawable/launch_background</item>
        <item name="android:colorPrimaryDark">@color/splash_color</item>
        <item name="android:statusBarColor">@color/splash_color</item>
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    </style>
</resources>

它有效,但仅在最初的几毫秒内有效。之后,徽标会略微跳起,状态栏会再次出现。这是在主方法开始之前发生的。

如何设置它,以便状态栏从头开始看起来完全一样,直到显示主页?

编辑: 我准备了源代码:https://github.com/szotp/splash_status_problem 出于某种原因,跳出现在并未完全出现在现在的项目中,但是可以看到这种半透明的背景。

1 个答案:

答案 0 :(得分:1)

@szotp,当我尝试实现启动画面时遇到了类似的问题,因此我改用flutter_native_splash软件包。它会自动生成初始屏幕的本机代码,您所需要做的就是提供图像和颜色。它将以与屏幕背景色相同的颜色合并状态栏。不知道您的模样如何,但对我来说真的很好。