跳至主要内容

拖动到应用外部

你可能希望在你的应用中实现拖放功能。

你可以采取几种潜在的方法。一种直接使用 Flutter 部件,另一种使用插件(super_drag_and_drop),可在 pub.dev 上获取。

在你的应用中创建可拖动的部件

#

如果你想在你的应用中实现拖放,可以使用 Draggable 部件。有关此方法的见解,请参阅 在应用中拖动 UI 元素 食谱。

使用 DraggableDragTarget 的一个优势是,你可以提供 Dart 代码来决定是否接受放下操作。

更多信息,请查看 Draggable 部件每周播报 视频。

实现应用之间的拖放

#

如果你想在你的应用中实现拖放,并且想在你的应用和另一个(可能是非 Flutter)应用之间实现拖放,请查看 super_drag_and_drop 插件。

为了避免实现两种拖放样式,一种用于应用外部的拖放,另一种用于应用内部的拖放,你可以向插件提供 本地数据 以在你的应用中执行拖放操作。

这种方法与直接使用 Draggable 的另一个区别在于,你必须提前告诉插件你的应用接受什么数据,因为平台 API 需要同步响应,这不允许框架提供异步响应。

使用这种方法的一个优势是,它可以在桌面、移动 Web 上运行。