Trascinamento della selezione
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 per il trascinamento e l'eliminazione di Android.
Valore chiave
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.
Tipi di app che possono trarre vantaggio da questo modello
- App che contengono testo o immagini.
Per altre informazioni, vedere la sezione trascinamento della sezione Introduzione ai dispositivi a doppio schermo.
Provare l'esempio
Ottenere l'esempio di trascinamento della selezione in GitHub:
Panoramica del codice sorgente
Questi frammenti mostrano i passaggi chiave per il trascinamento della selezione.
Collegare un dragListener alla visualizzazione in cui si vuole rilasciare.
View.setOnDragListener();
Implementare ACTION_DROP in onDrag()
public boolean onDrag(View v, DragEvent event) { switch (event.getAction()) { case DragEvent.ACTION_DROP: return true; } }
Afferrare l'URI da DragEvent
DragEvent.getClipData().getItemAt().getUri();
Richiedere un'autorizzazione a questo URI
requestDragAndDropPermissions(DragEvent);
Eseguire una query su ContentProvider per recuperare l'elemento eliminato
File Metadata : ContentResolver.query( uri, new String[]{OpenableColumns.DISPLAY_NAME, OpenableColumns.SIZE}, null, null, null)) Actual file : ContentResolver.openFile(uri)