创建plugin

image.png

注意技巧:在编写 插件Android端代码(例如我这里是FlutterVideopluginPlugin自动生成的)打开发现右上角提示:Open for Editing in Android Studio。点击即可编写插件Android端代码。否则在当前flutter项目写会遇到各种坑!!!

插件flutter代码:
BmsVideoPlayerController类:主要是MethodChannel与原生Native建立链接,方法传递
BmsVideoPlayerCreatedCallback类:接口
BmsVideoPlayer:创建widget,添加原生布局,例如:Android端

AndroidView(
        viewType: 'plugins.bms_video_player/view',// 不同插件名称来源
        onPlatformViewCreated: onPlatformViewCreated,// widget创建后,调用函数(onPlatformViewCreated)
        creationParams: {// 参数传给原生控件,位置和大小
          "x": widget.x,
          "y": widget.y,
          "width": widget.width,
          "height": widget.height,
        },
        creationParamsCodec: const StandardMessageCodec(),
      );

插件Native端(以Android为例):
FlutterVideopluginPlugin:代码自动生成的类,负责Android(自定义view)和flutter建立连接。
VideoViewFactory:工程构建VideoView
VideoView:自定义view,这里包含了view和flutter特有的交互连接

你可能感兴趣的:(创建plugin)