Cómo habilitar la función para arrastrar y soltar

El framework de arrastrar y soltar de Android te permite agregar funciones interactivas de arrastrar y soltar a tu app. Con esta función, los usuarios pueden copiar o mover texto, imágenes, objetos y cualquier contenido que se pueda representar mediante un URI, desde un View a otro dentro de una app o entre apps en el modo multiventana.

Imagen y string de texto que se arrastran y se sueltan en una app Imagen y string de texto que se arrastran y se sueltan entre apps en el modo de pantalla dividida
Figura 1: Arrastra y suelta dentro de una app.
Figura 2: Arrastrar y soltar entre apps

El framework incluye una clase de evento de arrastre, objetos de escucha de arrastre, y clases y métodos auxiliares. Aunque está diseñado principalmente para permitir la transferencia de datos, puedes usar el framework para otras acciones de la IU. Por ejemplo, puedes crear una app que combine colores cuando el usuario arrastre un ícono de color sobre otro ícono. Sin embargo, el resto del documento describe el framework de arrastrar y soltar en el contexto de la transferencia de datos.

Descripción general

Hay algunos elementos involucrados en el proceso de arrastre.

  1. Fuente de arrastre: Es la vista del punto de inicio del proceso de arrastrar y soltar.

  2. Destino para soltar: Es una vista que puede aceptar los datos de arrastre.

  3. Sombra de arrastre: Una sombra de arrastre es una representación de los datos que se arrastran y son visibles para los usuarios.

  4. Eventos de arrastre: A medida que el usuario mueve la sombra de arrastre sobre el diseño de la app, el sistema envía eventos de arrastre a los objetos de escucha de eventos de arrastre y a los métodos de devolución de llamada asociados con los objetos View en el diseño.

Una operación de arrastrar y soltar comienza cuando el usuario hace un gesto de IU que tu app reconoce como una señal para comenzar a arrastrar datos. En respuesta, la app notifica al sistema que se está iniciando una operación de arrastrar y soltar. El sistema vuelve a llamar a tu app para obtener una sombra de arrastre y mostrarla a los usuarios durante el proceso de arrastrar y soltar.

A medida que el usuario mueve la sombra de arrastre sobre el diseño de la app, el sistema envía eventos de arrastre a los objetos de escucha de eventos de arrastre y de devolución de llamada asociados con los objetos View del diseño. Si el usuario suelta la sombra de arrastre sobre un destino para soltar, el sistema le envía los datos. La operación de arrastrar y soltar finaliza cuando el usuario suelta la sombra de arrastre, sin importar si esta se encuentra sobre un destino para soltar.

Temas

Conceptos clave
Comprende el proceso de arrastrar y soltar.
DropHelper para simplificar la acción de arrastrar y soltar
Obtén información para implementar la función de arrastrar y soltar con DropHelper.
Cómo implementar la función de arrastrar y soltar con View
Como alternativa, puedes implementar la función de arrastrar y soltar con Views de Android para que los desarrolladores tengan más control sobre los detalles.
Cómo arrastrar y soltar en el modo multiventana
Admite la función de arrastrar y soltar en el modo multiventana y permite que los objetos se muevan entre diferentes aplicaciones.