Flutter Boost 是 Flutter 官方推荐的混合开发框架,用于在原生应用(如 Android 和 iOS)中嵌入和管理 Flutter 页面。以下是基本使用步骤:
1. 添加依赖
在 pubspec.yaml 中添加依赖:
dependencies:
flutter_boost: ^4.0.0 # 使用最新版本
2. 初始化 Flutter Boost
在 main.dart 中初始化:
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
void initState() {
super.initState();
// 注册 Flutter 页面
FlutterBoost.singleton.registerPageBuilders({
'flutterPage': (String pageName, Map<String, dynamic> params, String? uniqueId) {
return FlutterPage(params: params);
},
});
}
@override
Widget build(BuildContext context) {
return FlutterBoostApp(
routeFactory: (settings, uniqueId) => PageRouteBuilder<dynamic>(
settings: settings,
pageBuilder: (_, __, ___) => FlutterPage(params: settings.arguments),
),
);
}
}
3. Flutter 页面实现
创建 Flutter 页面,支持参数传递:
class FlutterPage extends StatelessWidget {
final Map<String, dynamic> params;
FlutterPage({required this.params});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text(params['title'] ?? 'Flutter Page')),
body: Center(child: Text('参数: ${params['data']}')),
);
}
}
4. 原生端集成
- Android:在
MainActivity 中初始化 FlutterBoost,并通过 FlutterBoostRouteBuilder 打开页面。
- iOS:在
AppDelegate 中初始化,使用 FlutterBoostPlugin 跳转。
5. 页面跳转
在 Flutter 中跳转到原生或其他 Flutter 页面:
// 打开 Flutter 页面
FlutterBoost.singleton.open('flutterPage', arguments: {'title': '示例', 'data': 'Hello'});
// 关闭页面
FlutterBoost.singleton.close();
6. 生命周期管理
通过 FlutterBoostContainerState 监听页面生命周期(如 onShow、onHide)。
注意事项
- 确保 Flutter 与原生端的页面路由配置一致。
- 参数传递需通过
arguments 序列化。
以上步骤可帮助快速集成 Flutter Boost,实现混合栈管理。具体细节可参考官方文档。