Trascinare e rilasciare in Xamarin. Android
Il supporto per il trascinamento garantisce un'esperienza utente ottimale usando tutti i diversi tipi di input supportati da Surface Duo.
Questo esempio illustra come implementare il trascinamento e l'eliminazione nell'app Android, seguendo le indicazioni Android trascinamento e rilascio.
Il trascinamento della selezione consente a un utente di condividere facilmente i dati tra le parti di un'app o tra diverse app su due schermi.
- App che contengono testo o immagini.
Per altre informazioni, vedere la sezione trascinamento della sezione Introduzione ai dispositivi a doppio schermo.
Ottenere l'esempio di trascinamento della selezione in GitHub
Questi frammenti mostrano i passaggi chiave per il trascinamento della selezione.
Collegare un dragListener alla visualizzazione in cui si vuole rilasciare.
View.Drag += View_Drag;
Implementare ACTION_DROP in onDrag()
void View_Drag(object sender, View.DragEventArgs e) { if (e.Event.Action == DragAction.Drop) { e.Handled = true; // ... } }
Afferrare l'URI da DragEvent
e.Event.ClipData.GetItemAt(0).Uri;
Richiedere un'autorizzazione a questo URI
RequestDragAndDropPermissions(e.Event);
Eseguire una query su ContentProvider per recuperare l'elemento eliminato
var metadata = ContentResolver.Query(uri, new [] { OpenableColumns.DisplayName, OpenableColumns.Size}, null, null, null)) var file = ContentResolver.OpenFileDescriptor(uri, mode: "r");