啟用拖曳架構
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
試用 Compose
Jetpack Compose 是 Android 推薦的 UI 工具包。瞭解如何在 Compose 中使用拖曳功能。
透過 Android 拖曳架構,您可在應用程式中加入互動式拖曳功能。透過拖曳功能,使用者可以複製或移動文字、圖片、物件以及任何由 URI 表示的內容、從一個 View
到另一個應用程式,或在多視窗模式的應用程式之間。
|
|
圖 1.在應用程式中拖曳。
|
圖 2.在應用程式間拖曳。
|
架構包含拖曳事件類別、拖曳事件監聽器,以及輔助類別和方法。雖然這個架構主要是啟用資料移轉功能,但您仍可將此架構用於其他 UI 動作。舉例來說,您可以建立應用程式,當使用者將某個顏色圖示拖曳到其他圖示上方時,可組合不同顏色。但是,文件的其餘部分會說明資料移轉架構中的拖曳架構。
總覽
拖曳程序涉及幾個元素。
拖曳來源:拖曳程序的起點檢視畫面。
放置目標:可接受拖曳資料的檢視畫面。
拖曳陰影:拖曳陰影代表拖曳的資料,使用者可以看到這些資料。
拖曳事件:使用者將拖曳陰影移動到應用程式版面配置上時,系統會將拖曳事件傳送至與版面配置中 View
物件相關聯的拖曳事件監聽器和回呼方法。
當使用者做出 UI 手勢,讓您的應用程式識別為開始拖曳資料的信號時,拖曳作業就會開始執行。作為回應,應用程式會通知系統拖曳作業開始。系統會呼叫應用程式以取得拖曳陰影,並在拖曳過程中向使用者顯示。
當使用者將拖曳陰影移至應用程式版面配置時,系統會將拖曳事件傳送至與版面配置中 View
物件相關聯的拖曳事件監聽器和回呼方法。如果使用者在放置目標上放開拖曳陰影,系統會傳送資料至該目標。無論拖曳陰影是否在放置目標上方,拖曳作業都會在使用者放開拖曳陰影時結束。
主題
- 重要概念
- 瞭解拖曳過程。
- 使用 DropHelper 可簡化拖曳作業
- 瞭解如何使用
DropHelper
實作拖曳功能。
- 透過檢視區塊實作拖曳功能
- 或者,使用 Android 檢視區塊實作拖曳功能,這可讓開發人員進一步控管詳細資料。
- 在多視窗模式下拖曳
- 在多視窗模式下支援拖曳功能,可讓物件在不同應用程式中移動。
其他資源
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2024-07-16 (世界標準時間)。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"缺少我需要的資訊"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"過於複雜/步驟過多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"過時"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻譯問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/程式碼問題"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"容易理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"確實解決了我的問題"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u4e0a\u6b21\u66f4\u65b0\u6642\u9593\uff1a2024-07-16 (\u4e16\u754c\u6a19\u6e96\u6642\u9593)\u3002"}
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2024-07-16 (世界標準時間)。"]]