拖曳至應用程式外部
如何從一個應用程式拖曳到另一個應用程式或作業系統。
你可能會想要在你的應用程式中實作 拖放(drag and drop)功能。
你有幾種潛在的實作方式可以選擇。 一種是直接使用 Flutter 元件(Widgets), 另一種則是使用一個套件 (super_drag_and_drop),可在 pub.dev 上取得。
在應用程式內建立可拖曳元件
#
如果你想要在應用程式內部實作拖放功能,
你可以使用 Draggable
元件。關於這種做法的詳細說明,
請參考 在應用程式內拖曳 UI 元素 教學。
使用 Draggable 和 DragTarget 的優點在於,
你可以提供 Dart 程式碼來決定是否接受拖放。
如需更多資訊,請參考
Draggable widget of the week
影片。
實作跨應用程式的拖放功能
#如果你想要實作不僅在應用程式內部, 還能在你的應用程式與其他(可能不是 Flutter)應用程式之間 進行拖放,請參考 super_drag_and_drop 套件。
為了避免需要分別實作兩種拖放樣式 (應用程式外部拖曳與應用程式內部拖曳), 你可以提供 local data 給該套件, 以在你的應用程式內部執行拖曳。
這種做法與直接使用 Draggable 的另一個差異在於,
你必須事先告知套件你的應用程式能接受哪些資料,
因為平台 API 需要同步回應,這不允許框架提供非同步回應。
這種方式的優點是能同時支援桌面、行動裝置,以及 網頁平台。
Unless stated otherwise, the documentation on this site reflects Flutter 3.44.0. Page last updated on 2026-06-14. View source or report an issue.