赞
踩
一、
在Android 项目中集成Flutter
1、打开Gradle Scripts下的settings.gradle
2、在settings.gradle中添加如下代码
下面所配置的路径一定要与项目的路径一致,也就是说这个flutter_module一定要与FlutterHybirdAndroid原生工程在同一个目录下
- setBinding(new Binding([gradle:this]))
- evaluate(new File(settingsDir.parentFile,
- 'flutter_module/.android/include_flutter.groovy'
- ))
3、打开项目的build.gradle
将minSdkVersion的版本改为16,因为flutter支持的最低版本是16
配置java的编译版本,使用java8进行编译
- compileOptions{
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
添加下面依赖
虽然项目中并没有创建flutter项目,但是上面在settings中配置的setBinding()和evaluate()会帮我们自动关联到一个flutter模块
运行项目:
运行成功说明flutter依赖添加是成功的
二、在java中调用Flutter module
在java中调用Flutter模块有两种方式:
--使用Flutter.createView API的方式
--使用FlutterFragment的方式
1、
2、
上面我们使用字符串“route1"来告诉Dart代码在Flutter视图中显示哪个小部件。Flutter模块项目的lib/main.dart文件需要通过window.defaultRouteName来获取Native指定要显示的路由名,以确定要创建哪个窗口小部件并传递给runApp:
三、在Android项目中调用flutter
1、在Android布局中添加占位符
2、添加调用Flutter的代码
- FragmentTransaction tx=getSupportFragmentManager().beginTransaction();
- tx.replace(R.id.someContainer, Flutter.createFragment("{name:'devio',dataList:['aa','bb','cc']}"));
- tx.commit();
3、
运行结果:
点击test按钮后,加载flutter界面
四、
五、为已存在的Android应用添加Flutter module依赖
注:
1、在dart中通过window.defaultRouteName来获取Native传过来的参数
要使用window对象一定要导入包‘dart:ui’
在MyApp中作为参数传递给MyHomePage
在MyHomePage中,通过initParams展示了传递过来的内容
运行后结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。