FlutterBoost 是一个Flutter 插件,它可以轻松地为现有原生应用程序提供 Flutter 混合集成方案。FlutterBoost 的理念是将 Flutter 像 Webview 那样来使用。在现有应用程序中同时管理 Native 页面和 Flutter 页面并非易事。 FlutterBoost 帮你处理页面的映射和跳转,你只需关心页面的名字和参数即可(通常可以是 URL)。
基本用法
概念
所有页面路由请求都将发送到 Native 路由器。Native 路由器与 Native Container Manager 通信,Native Container Manager 负责构建和销毁 Native Containers。
使用 Flutter Boost Native Container 用 Native 代码打开 Flutter 页面
FLBFlutterViewContainer *vc = FLBFlutterViewContainer.new; [vc setName:name params:params]; [self.navigationController presentViewController:vc animated:animated completion:^{}];
Android
public class FlutterPageActivity extends BoostFlutterActivity { @Override public void onRegisterPlugins(PluginRegistry registry) { //register flutter plugins GeneratedPluginRegistrant.registerWith(registry); } @Override public String getContainerName() { //specify the page name register in FlutterBoost return "sample://firstPage"; } @Override public Map getContainerParams() { //params of the page Map<String,String> params = new HashMap<>(); params.put("key","value"); return params; } }
或者用 Fragment
public class FlutterFragment extends BoostFlutterFragment { @Override public void onRegisterPlugins(PluginRegistry registry) { GeneratedPluginRegistrant.registerWith(registry); } @Override public String getContainerName() { return "sample://firstPage"; } @Override public Map getContainerParams() { Map<String,String> params = new HashMap<>(); params.put("key","value"); return params; } }
使用 Flutter Boost 在 dart 代码打开页面
Dart
FlutterBoost.singleton.openPage("pagename", {}, true);
使用 Flutter Boost 在 dart 代码关闭页面
FlutterBoost.singleton.closePageForContext(context);
作者
阿里巴巴闲鱼终端团队
评论