Saltar al contenido principal

Arrastrar fuera de una app

Cómo arrastrar desde una app a otra app o al sistema operativo.

Es posible que desees implementar arrastrar y soltar en algún lugar de tu app.

Tienes un par de enfoques potenciales que puedes tomar. Uno utiliza directamente widgets de Flutter y el otro utiliza un paquete (super_drag_and_drop), disponible en pub.dev.

Crear widgets arrastrables dentro de tu app

#

Si quieres implementar arrastrar y soltar dentro de tu aplicación, puedes usar el widget Draggable. Para comprender mejor este enfoque, consulta la receta Arrastrar un elemento de UI dentro de una app.

Una ventaja de usar Draggable y DragTarget es que puedes proporcionar código Dart para decidir si aceptar una acción de soltar (drop).

Para más información, echa un vistazo al video del widget de la semana de Draggable.

Implementar arrastrar y soltar (drag and drop) entre apps

#

Si quieres implementar arrastrar y soltar dentro de tu aplicación y también entre tu aplicación y otra app (posiblemente que no sea de Flutter), echa un vistazo al paquete super_drag_and_drop.

Para evitar implementar dos estilos de arrastrar y soltar, uno para arrastres fuera de la app y otro para arrastrar dentro de la app, puedes proporcionar datos locales al paquete para realizar arrastres dentro de tu app.

Otra diferencia entre este enfoque y el uso directo de Draggable es que debes informarle al paquete por adelantado qué datos acepta tu app porque las API de la plataforma necesitan una respuesta síncrona, lo cual no permite una respuesta asíncrona del framework.

Una ventaja de utilizar este enfoque es que funciona en escritorio, móvil, y web.