Baca dalam bahasa Inggris

Bagikan melalui


Seret dan letakkan di Xamarin.Android

Dukungan untuk seret dan letakkan memastikan pengalaman pengguna yang hebat menggunakan semua jenis input yang berbeda yang didukung oleh Surface Duo.

Sampel ini menunjukkan cara menerapkan seret dan letakkan di aplikasi Android Anda, mengikuti panduan seret dan letakkan Android.

sample app UI using drag-and-drop

Nilai kunci

Seret dan letakkan memungkinkan pengguna berbagi data dengan mudah di antara bagian aplikasi, atau di antara aplikasi yang berbeda di dua layar.

Jenis aplikasi yang mungkin mendapat manfaat dari pola ini

  • Aplikasi yang berisi teks atau gambar.

Untuk informasi selengkapnya, lihat bagian seret dan letakkanpengantar perangkat layar ganda.

Coba sampel kami

Mendapatkan sampel seret dan letakkan di GitHub

Gambaran umum kode sumber

Cuplikan ini memperlihatkan langkah-langkah kunci untuk seret dan letakkan.

  1. Lampirkan dragListener ke tampilan tempat Anda ingin meletakkan.

    View.Drag += View_Drag;
    
  2. Menerapkan ACTION_DROP di onDrag()

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

    e.Event.ClipData.GetItemAt(0).Uri;
    
  4. Minta izin ke URI ini

    RequestDragAndDropPermissions(e.Event);
    
  5. Membuat kueri ke ContentProvider untuk mengambil item yang dijatuhkan

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