在应用外拖动
您可能希望在应用中的某个位置实现拖放。
您可以采取几种潜在方法。一种直接使用 Flutter 小部件,另一种使用 super_drag_and_drop 包,该包可在 pub.dev 上获得。
在您的应用中创建可拖动小部件
如果您想在您的应用程序中实现拖放,您可以使用 Draggable
小部件。要了解此方法,请参阅 在应用中拖动 UI 元素 配方。
使用 Draggable
和 DragTarget
的一个优点是,您可以提供 Dart 代码来决定是否接受拖放。
有关更多信息,请查看 Draggable
小部件本周 视频。
在应用之间实现拖放
如果您想在您的应用程序中实现拖放,并且还想在您的应用程序和其他(可能是非 Flutter)应用程序之间实现拖放,请查看 super_drag_and_drop 包。
为了避免实现两种样式的拖放,一种用于应用外部的拖动,另一种用于应用内部的拖动,您可以向该包提供 本地数据,以便在您的应用中执行拖动。
此方法与直接使用 Draggable
的另一个区别是,您必须预先告诉包您的应用接受哪些数据,因为平台 API 需要同步响应,而不允许框架进行异步响应。
使用此方法的一个优点是,它适用于桌面、移动和网络。