更新抖动后启动时出现黑屏

时间:2019-12-17 10:22:28

标签: flutter

我最近更新为扑朔迷离。为了运行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版本降级为旧版本,黑屏消失了。

4 个答案:

答案 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 中