Flutter 应用程序在启动时显示白屏几秒钟

Posted

技术标签:

【中文标题】Flutter 应用程序在启动时显示白屏几秒钟【英文标题】:Flutter app on start it is showing white screen for few second 【发布时间】:2019-10-03 17:57:31 【问题描述】:

为什么我的 Flutter 应用在​​启动时会显示白屏几秒钟?我该如何解决这个问题?

【问题讨论】:

它是颤振默认启动画面见***.com/a/48101776/4712391 如果在使用 Flutter 框架的 ios 中出现黑屏或白屏或启动屏幕过快消失的情况,请尝试使用github.com/flutter/flutter/issues/36365#issuecomment-532072073中提到的步骤 这能回答你的问题吗? Adding a splash screen to Flutter apps 【参考方案1】:

如果在 Flutter 渲染第一帧之前,您看到 Activity 的 黑色 窗口背景显示,请将其添加到 AndroidManifest 中的 强> ...

<meta-data
       android:name="io.flutter.embedding.android.SplashScreenDrawable"
   android:resource="@drawable/launch_background"
/>

【讨论】:

这帮助了我。但是在这样做之后,我的状态栏没有出现在颤振开发的所有其他页面中,你能帮帮我吗? @silexcorp 检查style.xml文件res/values中的主题,避免全屏(Android上)false【参考方案2】:

您可以使用包 flutter_native_splash 为 Android 和 iOS 添加原生启动屏幕,而无需其他答案中描述的手动更改。

该软件包会为您进行手动更改。

1 - 依赖它:

dev_dependencies:
  flutter_native_splash: ^0.1.4

还有flutter pub get

2 - 在pubspec.yaml 上配置您的启动画面:

    flutter_native_splash:
      image: assets/images/splash.png
      color: 42a5f5

3 - 运行包

flutter pub pub run flutter_native_splash:create

现在会生成启动画面。

【讨论】:

如果有人正在寻找例如github.com/jonbhanson/flutter_native_splash/blob/master/example/… 这似乎是最好的解决方案,非常感谢。【参考方案3】:

Android - 现在您可以在

中进行更改

/AndroidStudioProjects/venendowallet/android/app/src/main/res/drawable/launch_background.xml

类似

<!-- You can insert your own image assets here -->
    <item>
        <bitmap
            android:gravity="center"
            android:src="@mipmap/ic_launcher" />
    </item>

IOS

更改 Assets.xcassets

中的 LaunchImage

【讨论】:

【参考方案4】:

在使用 flutter create 命令生成的文件中。当颤动将小部件渲染到屏幕时,会生成一个闪屏以显示在第一帧之前。您可以修改它以显示您选择的自定义启动屏幕,或者您可以将其删除..

在 android 文件夹中,打开 AndroidManifest.xml 文件。

您可以在名为 .MainActivity

的活动中删除具有属性名称 ..SplashScreenUntilFirstFrame 标记的 meta-data

如果要保留启动画面,可以查看drawables文件夹和styles.xml文件来修改。

在这些文件夹中还有解释更多的 cmets..

【讨论】:

【参考方案5】:

我已经在启动画面中添加了这个问题。我也得到了一个白屏。事实证明,您必须重新安装应用程序才能摆脱任何缓存,然后它应该可以正常工作

https://docs.nativescript.org/tooling/publishing/creating-launch-screens-ios

我希望这对其他人有帮助!

【讨论】:

【参考方案6】:

我也遇到同样的问题。即使在我添加了启动画面后,我第一次加载应用程序时也遇到了黑屏。我的解决方案是将颤振通道形式从稳定更改为 beta。为此,请打开命令提示符

    查看您当前所在的频道

    flutter channel
    

    更改频道类型

    flutter channel [channel name]
    

    在那个类型之后

    flutter upgrade
    

这对我有帮助。我希望它也对某人有所帮助。

我在这里找到了解决方案:https://github.com/flutter/flutter/issues/37155

【讨论】:

【参考方案7】:

我在 flutter.bat 文件中设置了代理。它也在为本地机器设置代理。所以我的 ABD 无法监听物理设备。

因此,如果您有类似情况 - 尝试为本地区域设置 no_proxy 或完全删除代理。

【讨论】:

【参考方案8】:

如果您现在正在创建新项目,他们提供了解决方案(在 launch_background.xml 中有注释代码)

通过android目录打开以下文件即可。

您将看到以下注释代码:

只需取消注释并执行以下操作,您可以通过更改可绘制名称来替换自己的图像:

<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<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="@mipmap/ic_launcher" />
    </item>
</layer-list>

希望对您有所帮助。

【讨论】:

【参考方案9】:

打开 Android 文件夹并在 drawable 文件夹中替换您的图片

在清单文件中有一些代码只需取消注释并执行以下操作。

<meta-data
   android:name="io.flutter.embedding.android.SplashScreenDrawable           
    android:resource="@drawable/launch_background"
   />

快乐的编码

【讨论】:

以上是关于Flutter 应用程序在启动时显示白屏几秒钟的主要内容,如果未能解决你的问题,请参考以下文章

Electron 构建时显示白屏

nwjs解决页面透明化,启动时显示白屏的问题

在活动之间切换时显示白屏

推送视图时显示白屏

OpenGL在显示多个对象时显示白屏

在推动视图控制器之前出现全白屏几秒钟