我最近更新为扑朔迷离。为了运行flutter项目,我通过usb使用android。更新后,启动时每个项目都会显示黑屏。上一个版本工作正常。我试图将android中的启动启动屏幕(drawable/launch_background.xml
)更改为白色,但启动屏幕后显示黑屏。
这是我要运行的简单代码
void main()=> runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context){
return MaterialApp(
home:MyHomePage(),
);
}
}
那我如何在启动时消除黑屏?
黑屏,如here。 正如我所说,将颤动更新到新版本后,黑屏显示。然后我将Flutter版本降级为旧版本,黑屏消失了。
答案 0 :(得分:0)
解决这个问题很容易。几个月以来,我一直在面对这个问题,现在我想出了一个解决方案。
在终端中运行此命令
var v = this.Tag as FrameworkElement;
var vm = v.DataContext as MyViewModel; //The ViewModel of the parent view, not the current one
从下一个项目开始,您将不会遇到这样的问题。但是请确保通过运行命令将“ enable-android-embedding-v2”设置为“ false”
flutter config --no-enable-android-embedding-v2
在终端上。
谢谢!
答案 1 :(得分:0)
如果您看到活动的黑色窗口背景一直显示到Flutter渲染其第一帧,则应在AndroidManifest上的
<meta-data
android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/launch_background"
/>
答案 2 :(得分:0)
当我切换到flutter的beta通道时,我遇到了同样的问题。
我注意到"\\R"
文件夹中还有一个launch_background.xml
文件。
所以我将drawable-v21
文件夹中launch_background.xml
的内容复制到drawable
中的launch_background.xml
,并且有效。
答案 3 :(得分:0)
我的颤振项目遇到了同样的问题。它在 AndroidManifest.xml 中有一个简单的修复。确保
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
在上面
<meta-data
android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/launch_background"
/>
在 AndroidManifest.xml 中