文件拖放

一个 Flutter 桌面包,可让您将原生文件拖入应用中支持。

平台支持

目前仅支持 macOS,如果有人可以实现其他平台的方法。请提交 PR 给贡献者

Linux macOS Windows
✔️

示例

查看示例代码

第一步:ensureInitialized

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await dragAndDropChannel.initializedMainView();
  runApp(MyApp());
}

第二步:addListener DragContainerListener

@override
  void draggingFileEntered() {
    print("flutter: draggingFileEntered");
    setState(() {
      visibilityTips = true;
    });
  }

  @override
  void draggingFileExit() {
    print("flutter: draggingFileExit");
    setState(() {
      visibilityTips = false;
    });
  }

  @override
  void prepareForDragFileOperation() {
    print("flutter: prepareForDragFileOperation");
    setState(() {
      visibilityTips = false;
    });
  }

  @override
  void performDragFileOperation(List<DragFileResult> fileResults) {
    print("flutter: performDragFileOperation");
    setState(() {
      this.fileResults = fileResults;
    });
  }

入门

本项目是 Flutter 的起点
插件包,
一个专门的包,包含特定于平台的实现代码
Android 和/或 iOS。

如需获取 Flutter 入门帮助,请参阅我们的
在线文档,其中提供教程,
示例、移动开发指南和完整的 API 参考。

GitHub

查看 Github