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上)您可以使用包 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 应用程序在启动时显示白屏几秒钟的主要内容,如果未能解决你的问题,请参考以下文章