Flutter桌面应用开发--拖动文件到应用

202 阅读1分钟

最近在Flutter开发中遇到一个需求,就是从电脑磁盘中拖动图片到应用,在网上搜索了一些资料,找到一个插件:desktop_drop,最终解决了问题,在此记录一下:

1、安装desktop_drop插件

desktop_drop: ^0.4.4

2、实际用法

插件的用法比较简单,实际开发中主要用到以下几个方法:

  • void Function(DropEventDetails)? onDragEntered:拖动进入时
  • void Function(DropEventDetails)? onDragExited:拖动离开时
  • void Function(DropDoneDetails)? onDragDone:拖动完成后
  • void Function(DropEventDetails)? onDragUpdated:拖动移动位置时

在项目中,我其实只用到了onDragDone方法,用到了参数中DropDoneDetails中两个属性files(拖拽的文件列表)和localPosition(拖拽时的坐标)。我们主要还是通过files属性拿到文件的地址,然后实现后续的功能,具体的例子包括文档可以去网站查看,比较详细了。