在 Xamarin 中拖放。Android
支援拖放功能可確保使用 Surface Duo 支援的所有不同輸入類型,提供絕佳的使用者體驗。
此範例示範如何遵循Android拖放指引,在Android應用程式中實作拖放。
拖放功能可讓使用者輕鬆地在應用程式的各個部分之間,或在兩個螢幕的不同應用程式之間共用資料。
- 包含文字或影像的應用程式。
如需詳細資訊,請參閱雙螢幕裝置簡介的拖放一節。
取得GitHub上的拖放範例
這些程式碼片段會顯示拖放的主要步驟。
將 dragListener 附加至您要卸載的檢視。
View.Drag += View_Drag;
在 onDrag () 中實作 ACTION_DROP
void View_Drag(object sender, View.DragEventArgs e) { if (e.Event.Action == DragAction.Drop) { e.Handled = true; // ... } }
從 DragEvent 抓取 URI
e.Event.ClipData.GetItemAt(0).Uri;
要求此 URI 的許可權
RequestDragAndDropPermissions(e.Event);
對 ContentProvider 進行查詢以擷取已卸載的專案
var metadata = ContentResolver.Query(uri, new [] { OpenableColumns.DisplayName, OpenableColumns.Size}, null, null, null)) var file = ContentResolver.OpenFileDescriptor(uri, mode: "r");