閱讀英文

共用方式為


在 Xamarin 中拖放。Android

支援拖放功能可確保使用 Surface Duo 支援的所有不同輸入類型,提供絕佳的使用者體驗。

此範例示範如何遵循Android拖放指引,在Android應用程式中實作拖放。

sample app UI using drag-and-drop

金鑰值

拖放功能可讓使用者輕鬆地在應用程式的各個部分之間,或在兩個螢幕的不同應用程式之間共用資料。

可能受益於此模式的應用程式類型

  • 包含文字或影像的應用程式。

如需詳細資訊,請參閱雙螢幕裝置簡介拖放一節。

試試我們的範例

取得GitHub上的拖放範例

原始程式碼概觀

這些程式碼片段會顯示拖放的主要步驟。

  1. 將 dragListener 附加至您要卸載的檢視。

    View.Drag += View_Drag;
    
  2. 在 onDrag () 中實作 ACTION_DROP

    void View_Drag(object sender, View.DragEventArgs e)
    {
        if (e.Event.Action == DragAction.Drop)
        {
            e.Handled = true;
            // ...
        }
    }
    
  3. 從 DragEvent 抓取 URI

    e.Event.ClipData.GetItemAt(0).Uri;
    
  4. 要求此 URI 的許可權

    RequestDragAndDropPermissions(e.Event);
    
  5. 對 ContentProvider 進行查詢以擷取已卸載的專案

    var metadata = ContentResolver.Query(uri, new [] { OpenableColumns.DisplayName, OpenableColumns.Size}, null, null, null))
    var file = ContentResolver.OpenFileDescriptor(uri, mode: "r");