在已有Android原生工程基础上集成Flutter Module。

先说坑

新版flutter SDK已经移除了Flutter.java这个类。因此你想通过Flutter.createView(MainActivity.this,getLifecycle(),"yourRouter");来构建视图是行不通了。

具体步奏

1、使用Android Studio构建Module

Android 集成flutter_第1张图片Android 集成flutter_第2张图片

创建module成功后,Android Studio会自动引入这个module,无需修改项目配置。

2、配置module路由

void main() {  runApp(MyApp(window.defaultRouteName)); // APP初始化}class MyApp extends StatefulWidget {  final String router;  MyApp(this.router);  @override  State createState() => MyOSCClientState();}class MyOSCClientState extends State {  Color themeColor = ThemeUtils.currentColorTheme;  @override  void initState() {    super.initState();    DataUtils.getColorThemeIndex().then((index) {      print('color theme index = $index');      if (index != null) {        ThemeUtils.currentColorTheme = ThemeUtils.supportColors[index];        Constants.eventBus            .fire(ChangeThemeEvent(ThemeUtils.supportColors[index]));      }    });    Constants.eventBus.on().listen((event) {      setState(() {        themeColor = event.color;      });    });  }  @override  Widget build(BuildContext context) {    switch(widget.router){      case '西天取经'://路由1        return MaterialApp(debugShowCheckedModeBanner: false, // 右上角debug标签          theme: ThemeData(primaryColor: themeColor),          home: Page1());      default:        return MaterialApp(debugShowCheckedModeBanner: false, // 右上角debug标签            theme: ThemeData(primaryColor: themeColor),            home: Container());    }  }}

3、配置主工程

 3.1配置androidmanifest.xml,把FlutterActivity加进去

   

3.2跳转到flutter module指定页面

startActivity(FlutterActivity.withNewEngine().initialRoute("西天取经").build(mActivity));

单纯的跳转这样就可以了。

还有一种情况是生成Fragment来显示。如下(注:这种情况我是照搬flutter文档的,没有尝试,如果有报错请移步官方文档自行查验)

FlutterFragment flutterFragment = FlutterFragment.withNewEngine()    .initialRoute("myInitialRoute/")    .build();

 

更多相关文章

  1. 几个标签属性的意义
  2. Android 三角标签(自定义Textview控件)
  3. Android之Tab分页标签的实现方法一-----TabActivity和TabHost的
  4. React Native Linking与 Android原生页面路由跳转问题
  5. Android 总结:打造Android中的流式布局和热门标签(源码有详细注释)
  6. [Android菜鸟笔记]xml实现编辑框/按钮的椭圆样(shape标签)+应用
  7. Android开发之实现图片自动滚动显示标签的ViewPager
  8. 打造自己的标签栏

随机推荐

  1. Android(安卓)API中隐藏的类使用(例如IWi
  2. Mac 下设置android NDK的环境
  3. Android(安卓)spinner控件的实现
  4. 低版本android project在高版本ADK中运行
  5. 详细整理iOS中UITableView的性能优化
  6. 分别在Linux和Android中用C语言写系统日
  7. 对android里布局文件当中的TextView对象
  8. Android(安卓)Studio入门体验
  9. android下的MVP架构
  10. Android之Adapter用法总结