Attiva la funzione di trascinamento

Il framework di trascinamento di Android ti consente di aggiungere funzionalità di trascinamento interattive alla tua app. Con il trascinamento, gli utenti possono copiare o spostare testo, immagini, oggetti e qualsiasi contenuto che può essere rappresentato da un URI, da un View a un altro all'interno di un'app o tra app in modalità multi-finestra.

Stringa di testo e immagine trascinate all'interno di un'app. Stringa di testo e immagine trascinate da un'app all'altra in modalità schermo diviso.
Figura 1. Trascina all'interno di un'app.
Figura 2. Trascina tra le app.

Il framework include una classe di eventi di trascinamento, listener di trascinamento e classi e metodi helper. Sebbene sia progettato principalmente per abilitare il trasferimento dei dati, puoi utilizzare il framework per altre azioni dell'interfaccia utente. Ad esempio, puoi creare un'app che combini i colori quando l'utente trascina un'icona di un colore sopra un'altra icona. Tuttavia, il resto del documento descrive il framework di trascinamento nel contesto del trasferimento dei dati.

Panoramica

Il processo di trascinamento prevede alcuni elementi.

  1. Origine di trascinamento: la visualizzazione del punto iniziale del processo di trascinamento.

  2. Obiettivo di rilascio: una vista che può accettare i dati di trascinamento.

  3. Ombra di trascinamento: un'ombra di trascinamento è una rappresentazione dei dati che vengono trascinati, è visibile agli utenti.

  4. Eventi di trascinamento: quando l'utente sposta l'ombra di trascinamento sul layout dell'app, il sistema invia gli eventi di trascinamento ai listener di eventi di trascinamento e ai metodi di callback associati agli oggetti View nel layout.

Un'operazione di trascinamento inizia quando l'utente esegue un gesto nell'interfaccia utente che l'app riconosce come indicatore per iniziare a trascinare i dati. In risposta, l'app comunica al sistema che è in corso un'operazione di trascinamento. Il sistema richiama la tua app per ottenere un'ombra di trascinamento e mostrarla agli utenti durante il processo di trascinamento.

Quando l'utente sposta l'ombra di trascinamento sul layout dell'app, il sistema invia eventi di trascinamento ai Listener di eventi di trascinamento e ai metodi di callback associati agli oggetti View nel layout. Se l'utente rilascia l'ombra di trascinamento su una destinazione, il sistema gli invia i dati. L'operazione di trascinamento termina quando l'utente rilascia l'ombra di trascinamento, indipendentemente dal fatto che l'ombra si trovi o meno su un obiettivo di trascinamento.

Argomenti

Concetti chiave
Comprendere la procedura di trascinamento.
DropHelper per il trascinamento semplificato
Scopri come implementare il trascinamento con DropHelper.
Implementare la funzionalità di trascinamento con la vista
In alternativa, implementa il trascinamento con Android View, in modo che gli sviluppatori abbiano un maggiore controllo sui dettagli.
Trascinare in modalità multi-finestra
Supporta il trascinamento in modalità multi-finestra, per consentire lo spostamento degli oggetti tra diverse applicazioni.