【发布时间】:2017-08-22 21:50:18
【问题描述】:
我注意到 Flutter 应用程序的这个问题,当我从冷启动打开 Flutter 应用程序时,我看到在实际应用程序加载之前弹出黑屏。我发现 Newsvoice 制作应用和我安装的测试应用存在问题。
在此处查看视频:https://www.youtube.com/watch?v=zszud6UWzps
这是 Flutter SDK 中的错误吗?
【问题讨论】:
标签: flutter
我注意到 Flutter 应用程序的这个问题,当我从冷启动打开 Flutter 应用程序时,我看到在实际应用程序加载之前弹出黑屏。我发现 Newsvoice 制作应用和我安装的测试应用存在问题。
在此处查看视频:https://www.youtube.com/watch?v=zszud6UWzps
这是 Flutter SDK 中的错误吗?
【问题讨论】:
标签: flutter
这个问题是fixed recently。如果您使用的是具有此引擎修复的 Flutter 版本,您将看不到黑框。 (修复程序现在应该在 Flutter master 分支上,而不是 alpha 分支上。)
【讨论】:
这不是问题,这是热重载。别担心。当你用 release 运行时,你看不到这个。
如果你想确定试试 ->
flutter 运行 --release
【讨论】:
<meta-data
android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/my_splash"
/>
AndroidManifest.xml 检查 FlutterActivity 并添加此代码
【讨论】:
my_splash 是什么?
这不是错误。这就是它正常行为的方式。您可以将加载黑屏替换为图像:
在 AndroidManifest.xml 中,您可以在此处更改启动图像。
<meta-data android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/launch_background" />
查找文件:
android\app\src\main\res\drawable\launch_background.xml
android\app\src\main\res\drawable-v21\launch_background.xml
更改文件以添加您自己的自定义图像:
<item>
<bitmap android:gravity="center" android:src="@drawable/splash_image" />
</item>
您的初始图像应存储在可绘制文件夹中:
android\app\src\main\res\drawable\splash_image.png
app\src\main\res\drawable-v21\splash_image.png
【讨论】:
在使用 Firebase 时删除 FutureBuilder 后,我可以解决这个问题。只需像这样在 main() 上初始化 Firebase 应用程序
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
而不是在你的构建方法上使用 FutureBuilder
【讨论】:
黑屏是由多种原因引起的,这是我从网上看到的不同反应中收集到的。就我而言,我意识到,我的 Firebase.initializeApp() 在我的 FutureBuilder 的快照中返回了一个错误,因为没有呈现任何小部件。我尝试了一切都无济于事。最后我将我的项目移动到一个全新的文件夹中,如here所述
然后我的黑屏问题得到了解决。
【讨论】: