flutter 桌面端开发小记

316 阅读1分钟
  1. 多窗口解决:
  • 使用Desktop_multi_window插件,具体使用可看这位大佬juejin.cn/post/715568…
  • 再进行适配魔改嵌入自己项目,例如下面在window_controller相关文件新增getPosition方法并分发通信,再去c++相关文件接受并实现。(具体实现后续研究)

image.png image.png

  1. 初始化主窗口大小,找到window/runner路径下的相关文件,下图所示

image.png

  1. 与c++通信方法===》
///定义通信口分发方法
static MethodChannel mainWindowChannel = const MethodChannel("mainWindowChannel");

mainWindowChannel.invokeMethod("setPosition", <String, dynamic>{
  'left': 100,
  'top': 100,
  'width': 120,
  'height': 600,
});


///找到c++相关文件,接受并实现方法,下图所示

image.png

  1. 解决多窗口闪屏问题(后续)