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

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

【问题讨论】:

标签: flutter flutter-layout


【解决方案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

现在会生成启动画面。

【讨论】:

【解决方案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。为此,请打开命令提示符

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

          flutter channel
          
        2. 更改频道类型

          flutter channel [channel name]
          
        3. 在那个类型之后

          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"
                 />
              

              快乐的编码

              【讨论】:

                猜你喜欢
                • 2014-02-26
                • 1970-01-01
                • 1970-01-01
                • 2022-01-12
                • 1970-01-01
                • 2020-04-26
                • 2019-07-29
                • 1970-01-01
                • 2023-04-05
                相关资源
                最近更新 更多