在应用外部拖动
如何从一个应用拖动到另一个应用或操作系统。
你可能需要在你的应用中实现拖放功能。
你有几种潜在的方法可以选择。一种直接使用 Flutter 小部件,另一种使用一个包 (super_drag_and_drop),可在 pub.dev 上找到。
在你的应用内创建可拖动的小部件
#如果你想在你的应用程序内实现拖放,你可以使用 Draggable 小部件。有关此方法的深入了解,请参阅 在应用内拖动 UI 元素 示例。
使用 Draggable 和 DragTarget 的一个优势是,你可以提供 Dart 代码来决定是否接受拖放。
有关更多信息,请查看 Draggable 小部件精选 视频。
实现应用之间的拖放
#如果你想在你的应用程序内实现拖放,并且也在你的应用程序和另一个(可能不是 Flutter)应用程序之间实现拖放,请查看 super_drag_and_drop 包。
为了避免实现两种拖放样式,一种用于应用外部的拖放,另一种用于应用内部的拖放,你可以向该包提供 本地数据,以执行应用内的拖放。
这种方法与直接使用 Draggable 的另一个区别是,你必须提前告知该包你的应用接受什么数据,因为平台 API 需要同步响应,这不允许来自框架的异步响应。
使用这种方法的优势是,它适用于桌面、移动设备和网络。