您可能想在您的應用中實現拖放功能。

您有兩種潛在的方法。一種直接使用 Flutter 小部件,另一種使用 pub.dev 上可用的包 (super_drag_and_drop)。

在您的應用中建立可拖動的小部件

#

如果您想在您的應用程式中實現拖放功能,您可以使用 Draggable 小部件。有關此方法的深入瞭解,請參閱在應用程式內拖動 UI 元素食譜。

使用 DraggableDragTarget 的一個優點是您可以提供 Dart 程式碼來決定是否接受拖放。

欲瞭解更多資訊,請檢視 Draggable 本週小部件影片。

實現應用間的拖放

#

如果您想在您的應用程式內部以及您的應用程式與其他(可能是非 Flutter)應用程式之間實現拖放功能,請檢視 super_drag_and_drop 包。

為了避免實現兩種拖放樣式,一種用於應用外部的拖動,另一種用於應用內部的拖動,您可以向該包提供本地資料,以便在您的應用內執行拖動。

此方法與直接使用 Draggable 的另一個區別是,您必須預先告知該包您的應用程式接受什麼資料,因為平臺 API 需要同步響應,這不允許框架進行非同步響應。

使用此方法的一個優點是它適用於桌面、移動裝置和 Web。