在Flutter混合开发入门这篇文章中我们介绍了如何在原来的原生项目中集成Flutter,实现了从原生页面跳转flutter页面的功能

但是在页面跳转的过程中出现黑屏的问题

方法一

增加调用flutterView.setZOrderOnTop(true)和flutterView.getHolder().setFormat(PixelFormat.TRANSLUCENT)

public class FlutterActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_flutter);FlutterView flutterView = Flutter.createView(FlutterActivity.this, getLifecycle(), "route1");flutterView.setZOrderOnTop(true);flutterView.getHolder().setFormat(PixelFormat.TRANSLUCENT);setContentView(flutterView);}
}

方法二

先隐藏FlutterView,显示加载进度圈

监听FlutterView的加载,当第一帧加载成功后显示再显示FlutterView

public class FlutterActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_flutter);ProgressBar progress = findViewById(R.id.progress);FrameLayout container = findViewById(R.id.container);View flutterView = Flutter.createView(FlutterActivity.this, getLifecycle(), "route1");FrameLayout.LayoutParams layout = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);container.addView(flutterView, layout);((FlutterView) flutterView).addFirstFrameListener(new FlutterView.FirstFrameListener() {@Overridepublic void onFirstFrame() {progress.setVisibility(View.INVISIBLE);container.setVisibility(View.VISIBLE);}});}
}

布局如下

<?xml version="1.0" encoding="utf-8"?>
<FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"><ProgressBarandroid:id="@+id/progress"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"/><FrameLayoutandroid:id="@+id/container"android:layout_width="match_parent"android:layout_height="match_parent"android:visibility="invisible"/>
</FrameLayout>

解决Flutter混合开发原生页面跳转Flutter页面黑屏的问题相关推荐

  1. 【Flutter】Flutter 混合开发 ( 关联 Android 工程与 Flutter 工程 | 安卓页面中嵌入 Flutter 页面 | 安卓中启动 Flutter 页面 )

    文章目录 前言 一.创建 Android 项目 二.关联 Android 工程与 Flutter Module 工程 1.配置 Flutter Module工程 2.配置 build.gradle 3 ...

  2. 58同城 Flutter 混合开发探索与实践

    点击"开发者技术前线",选择"星标????" 在看|星标|留言,  真爱 导语 本文主要介绍将Flutter应用到已有Native项目中混合开发遇到的问题及解决 ...

  3. 【Flutter】Flutter 混合开发 ( 安卓端向 Flutter 传递数据 | FlutterFragment 数据传递 | FlutterActivity 数据传递 )

    文章目录 前言 一.FlutterFragment 数据传递 二.FlutterActivity 数据传递 三.相关资源 前言 在上一篇博客 [Flutter]Flutter 混合开发 ( 关联 An ...

  4. Flutter开发之《网易新闻客户端Flutter混合开发实践》笔记(52)

    摘自:网易新闻客户端Flutter混合开发实践 引言 网易新闻项目本身很庞大,业务繁多,全部改为Flutter实现肯定是不现实的,在使用Flutter的前期阶段,我们挑选了相对独立的几个模块,在现有工 ...

  5. 技术干货 | Flutter 混合开发基础

    导读:Flutter 支持以独立页面.甚至是 UI 片段的方式,集成到现有的应用中,即所谓的混合开发模式.本文主要谈谈 Android 平台下, Flutter 的混合开发与构建. 文|李成达 网易云 ...

  6. Android与Flutter混合开发

    最近项目中需要在Android原生的应用中添加一些功能,时间紧,任务重,考虑再三,只有Android与Flutter混合才能按时完成.如上图所示,在Android页面中有些按钮需要在Android中跳 ...

  7. 【错误记录】Flutter 混合开发获取 BinaryMessenger 报错 ( FlutterActivityAndFragmentDelegate.getFlutterEngine() )

    文章目录 一. 报错信息 二. 解决方案 一. 报错信息 在 Flutter 混合开发中 , 开发 Android 与 Flutter 信息交互功能 ; 创建 BasicMessageChannel ...

  8. 【Flutter】Flutter 混合开发 ( 简介 | Flutter 混合开发集成步骤 | 创建 Flutter Module )

    文章目录 一.Flutter 混合开发简介 二.Flutter 混合开发集成步骤 三.创建 Flutter Module 1.使用命令行创建 Flutter Module 项目 ( 仅做参考 ) 2. ...

  9. Flutter混合开发、安卓,ios

    date:12.29,for flutter >v1.12.x 更新说明: 适配Flutter >=v1.12.x 在Flutter的应用场景中,有时候一个APP只有部分页面是由Flutt ...

最新文章

  1. [LeetCode]42. Trapping Rain Water雨水填坑
  2. 第五章 业务架构,5.3 千亿访问量下的开放平台技术揭秘(作者:风胜)
  3. 机器学习常用算法(LDA,CNN,LR)原理简述
  4. JavaScript栈的实现
  5. 小蚂蚁学习Redis笔记(13)——Redis之phpredis的安装
  6. selenium 等待_Selenium等待:内隐,外显,流利和睡眠
  7. Linux 命令之 iwlist 命令-从无线网卡获取更详细的无线信息
  8. allegro导出坐标文件正反面_Orcad与Allegro交互
  9. win8系统配置服务器地址,win8系统默认服务器地址
  10. 阿里巴巴在内蒙古旱区试水物联网灌溉技术,一年省出1.5个西湖 1
  11. Echarts数据可视化series-graph关系图,开发全解+完美注释
  12. Silverlight实例教程 - 自定义扩展Validation类,验证框架的总结和建议
  13. 用C++计算文件的MD5值
  14. 2018年上半年 系统分析师 论文 真题
  15. 屏幕空间的动态全局光照(漫反射)
  16. 手把手教你使用QGIS制作地图
  17. 小米6无线显示无法连接服务器,小米手机:无法连接WiFi怎么解决?
  18. 计算机应用基础主要按键,计算机应用基础教案第一讲:键盘与鼠标(中职教育)...
  19. MFC中单文档程序框架
  20. 【机器学习】使用Matlab和CNN完成回归任务

热门文章

  1. 关于sqrt函数的使用
  2. Java多线程下载器(简洁版)
  3. 光模块介绍-光纤通信核心器件
  4. JavaWeb学习笔记总结(一)
  5. (6) PyQt 设计并实现【工厂扫码装箱系统】- BarTender 打印机之标签制作
  6. PCM开发板模块实验指导--触摸屏控制步进电机速度实验
  7. DS18B20电子温度计设计与制作(含代码+仿真)
  8. Android studio TCP网络调试助手应用开发(支持TCP Server与Client切换)
  9. 如何在深度学习中用指定的GPU来跑代码
  10. 三分钟了解5个PS设计基本法则,赶紧收藏