【问题标题】:Consistent status bar appearance on AndroidAndroid 上一致的状态栏外观
【发布时间】:2020-04-06 00:34:40
【问题描述】:

我有一个新创建的 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>

它有效,但仅在最初的几毫秒内有效。之后,logo 会稍微跳起来,状态栏再次出现。这发生在 main 方法甚至开始之前。

我该如何设置才能使状态栏从一开始就完全一样,直到显示主页?

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

【问题讨论】:

    标签: android flutter


    【解决方案1】:

    @szotp,我在尝试实现启动画面时遇到了类似的问题,所以我改用了flutter_native_splash 包。它为启动画面自动生成本机代码,您需要做的就是提供图像和颜色。它将与您的屏幕背景颜色相同的颜色合并您的状态栏。不知道你的是什么样子,但对我来说效果很好。

    【讨论】:

    • 这是我使用的包。我添加了带有屏幕截图的示例项目,以更好地说明我的问题。
    • 奇怪,对我来说似乎工作正常。另外,您是否测试过您的应用程序的发布版本 (flutter run --release)? Flutter 的 debug 版本很慢而且有 bug。
    猜你喜欢
    • 2015-11-01
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多