android 混合开发 跳转 Flutter 黑屏问题解决办法

android 混合开发 跳转 Flutter 黑屏问题解决办法

  • AndroidManifest添加meta-data:

  • 修改主题FlutterActivity 将背景和主题均设置为透明 :
 @color/color_00000000
 true

如果这两个不同时设置成透明的话,可能都会显示为黑屏

完整的主题代码:


AndroidManifest 完整代码:


            
        
  • 初始化布局时,需要先隐藏,在第一贞绘制之后,再显示。 代码如下:
FlutterView mFlutterView = Flutter.createView(this, getLifecycle(), toPage);
            GeneratedPluginRegistrant.registerWith(mFlutterView.getPluginRegistry());
            ViewG
roup.LayoutParams mParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                    ViewGroup.LayoutParams.MATCH_PARENT);

            RelativeLayout layout_view = findViewById(R.id.layout_view);
            layout_view.addView(mFlutterView, mParams);

            final FlutterView.FirstFrameListener[] listeners = new FlutterView.FirstFrameListener[1];
           listeners[0] = new FlutterView.FirstFrameListener() {
                @Override
                public void onFirstFrame() {
                    layout_view.setVisibility(View.VISIBLE)
                }
            };
            mFlutterView.addFirstFrameListener(listeners[0]);

R.id.layout_view 是根布局的 id

参考文章:
https://blog.csdn.net/u010479969/article/details/81673711
https://www.jianshu.com/p/218d4414185c

你可能感兴趣的:(android 混合开发 跳转 Flutter 黑屏问题解决办法)