在应用外拖拽
如何从应用拖拽到另一个应用或操作系统。
你可能希望在应用的某个位置实现拖拽(drag and drop)功能。
你可以采用几种潜在方案。一种直接使用 Flutter widget,另一种使用 pub.dev 上的 package (super_drag_and_drop)。
在应用内创建可拖拽 widget
#
若要在应用内实现拖拽,可以使用 Draggable
widget。要了解该做法,请参阅
在应用内拖拽 UI 元素 Cookbook 教程。
使用 Draggable 和 DragTarget 的一个优点是,你可以编写 Dart 代码来决定是否接受放置。
更多信息请参阅
Draggable widget of the week
视频。
在应用之间实现拖拽
#若要在应用内实现拖拽,并且还要在你的应用与另一个(可能非 Flutter)应用之间实现拖拽,请查看 super_drag_and_drop package。
为避免实现两套拖拽方式——一套用于应用外拖拽、另一套用于应用内拖拽—— 你可以向该 package 提供 local data,以在应用内执行拖拽。
该做法与直接使用 Draggable 的另一项区别是,你必须事先告知 package 你的应用接受哪些数据,因为平台 API 需要同步响应,而框架无法提供异步响应。
该做法的一个优点是它适用于桌面、移动端以及 Web。
除非另有说明,本文档之所提及适用于 Flutter 3.44.0 版本。本页面最后更新时间:2026-06-04。查看文档源码 或者 为本页面内容提出建议。