虚拟显示模式(Virtual displays)
将 android.view.View 实例渲染为纹理,不会嵌入到 Activity 的视图层次结构中。
键盘处理和辅助功能可能无法工作。
混合集成模式(Hybrid composition)
需要 Flutter 1.22(推荐 1.22.2)。
将原生的 android.view.View 附加到视图层次结构中。键盘处理和无障碍功能是开箱即用的。
Android 10 之前,这个模式会大大降低 Flutter UI 的帧率(FPS)。
创建原生view对应的widget
1. 创建一个widget
此widget继承StatefulWidget 类
在build()中修改为以下代码
// hybrid模式
Widget build(BuildContext context) {
// This is used in the platform side to register the view.
const String viewType = '<platform-view-type>';
// Pass parameters to the platform side.
const Map<String, dynamic> creationParams = <String, dynamic>{
};
return PlatformViewLink(
viewType: viewType,
surfaceFactory:
(context, controller) {
return AndroidViewSurface(
controller: controller as AndroidViewController,
gestureRecognizers: const <Factory<OneSequenceGestureRecognizer>>{
},
hitTestBehavior: PlatformViewHitTestBehavior.opaque,
);
},
onCreatePlatformView: (params)