在应用外拖动

您可能希望在应用中的某个位置实现拖放。

您可以采取几种潜在方法。一种直接使用 Flutter 小部件,另一种使用 super_drag_and_drop 包,该包可在 pub.dev 上获得。

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

如果您想在您的应用程序中实现拖放,您可以使用 Draggable 小部件。要了解此方法,请参阅 在应用中拖动 UI 元素 配方。

使用 DraggableDragTarget 的一个优点是,您可以提供 Dart 代码来决定是否接受拖放。

有关更多信息,请查看 Draggable 小部件本周 视频。

在应用之间实现拖放

如果您想在您的应用程序中实现拖放,并且想在您的应用程序和其他(可能是非 Flutter)应用程序之间实现拖放,请查看 super_drag_and_drop 包。

为了避免实现两种样式的拖放,一种用于应用外部的拖动,另一种用于应用内部的拖动,您可以向该包提供 本地数据,以便在您的应用中执行拖动。

此方法与直接使用 Draggable 的另一个区别是,您必须预先告诉包您的应用接受哪些数据,因为平台 API 需要同步响应,而不允许框架进行异步响应。

使用此方法的一个优点是,它适用于桌面、移动网络。