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

问题描述 投票:0回答:9

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

flutter
9个回答
23
投票

您可以使用包 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 run flutter_native_splash:create

现已生成启动画面。


22
投票

如果您看到 Activity 的 black 窗口背景一直显示到 Flutter 渲染其第一帧,请将其添加到您的 AndroidManifest< activity> ... < /activity>

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

6
投票

Android - 现在您可以更改

/AndroidStudioProjects/vendowallet/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


1
投票

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

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

您可以在名为 .MainActivity 的活动中删除属性名称为 ..SplashScreenUntilFirstFramemeta-data

标记

如果您想保留初始屏幕,可以检查drawables文件夹和styles.xml文件来修改它。

在这些文件夹中还有解释更多信息的注释..


1
投票

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

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

enter image description here

您将看到以下注释代码:

enter image description here

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

<?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>

希望对您有帮助。


1
投票

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

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

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

快乐编码


0
投票

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

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

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


0
投票

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

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


-1
投票

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

  1. 检查您当前所在的频道

    flutter channel
    
  2. 更改频道类型

    flutter channel [channel name]
    
  3. 之后类型

    flutter upgrade
    

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

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

© www.soinside.com 2019 - 2024. All rights reserved.