SlideShare una empresa de Scribd logo
Drag/Drop Android 
(Arrastrar y Soltar) 
Oscar Rubén 
Ramírez Hernández
¿Para que sirve? 
• Con el framework drag/drop de android puede 
permitir a sus usuarios mover los datos de una 
vista a otra Vista en el layout actual usando 
una técnica gráfica de arrastrar y soltar. 
• El framework incluye una clase de evento de 
arrastre, oyentes de arrastre, y clases y 
métodos de ayuda.
• Aunque el framework es diseñado 
principalmente para el movimiento de datos, se 
puede utilizar para otras acciones de interfaz 
de usuario. 
• Por ejemplo, se podría crear una aplicación 
que mezcla los colores cuando el usuario 
arrastra un icono de color sobre otro icono.
Información general 
• Un drag y drop inicia la operación cuando el 
usuario realiza un gesto que reconoce como 
una señal para empezar a arrastrar datos. 
• En respuesta, la aplicación le indica al sistema 
que el arrastre está empezando. 
• El sistema vuelve a llamar a su solicitud para 
obtener una representación de los datos que se 
arrastran.
• Como el dedo del usuario se mueve esta 
representación (una "sombra de arrastre") 
sobre el diseño actual, el sistema envía los 
eventos de arrastre a los objetos detectores de 
eventos de arrastrar y métodos de devolución 
de llamada de eventos de arrastrar asociado a 
la vista objetos en el diseño. 
• Una vez que el usuario libera la sombra de 
arrastre, el sistema finaliza la operación de 
arrastre.
El proceso Drag/Drop 
Hay básicamente cuatro pasos o estados en el 
proceso de arrastrar y soltar: 
Started: Este evento se produce cuando se inicia 
arrastrando un elemento de un diseño, la aplicación 
llama al método startDrag () para indicar al sistema 
que va a iniciar un drag. 
Los argumentos dentro método startDrag () 
proporcionan los datos a ser arrastrados, los 
metadatos de estos datos, y una devolución de 
llamada para dibujar la sombra de arrastre.
Continuing: El usuario continúa el arrastre. El 
sistema envía la acción 
ACTION_DRAG_ENTERED seguida de la 
acción ACTION_DRAG_LOCATION al 
detector de eventos drag registrada para la vista, 
donde el punto de arrastre entra. 
El oyente puede optar por modificar la 
apariencia del objeto en respuesta al evento o 
puede reaccionar, poniendo de relieve su Vista. 
El detector de eventos de arrastrar recibe una 
acción ACTION_DRAG_EXITED vez que el 
usuario se ha movido a la sombra de arrastrar 
fuera del cuadro delimitador de la Vista.
Dropped: El usuario suelta el elemento 
arrastrado dentro de la caja circundante de un 
Vista.El sistema envía la vista del objeto oyente 
a un evento de arrastre con el tipo de acción 
ACTION_DROP. 
Ended: Sólo después de que el tipo de acción 
ACTION_DROP, el sistema envía un evento de 
arrastre con el tipo de acción 
ACTION_DRAG_ENDED para indicar que la 
operación de arrastre ha terminado.
La Clase DragEvent 
El DragEvent representa un evento que se envía 
por el sistema en varias ocasiones durante una 
operación de arrastrar y soltar. Esta clase 
proporciona unos Constantes y métodos 
importantes que usamos durante el Drag/Drop 
proceso.
Constante Descripción 
ACTION_DRAG_STARTED Señala el comienzo de una operación de arrastrar y 
soltar. 
ACTION_DRAG_ENTERED Señala una vista que el punto de arrastre ha entrado 
en el cuadro de límite de la vista. 
ACTION_DRAG_LOCATION Se envía a una vista después del 
ACTION_DRAG_ENTERED si la sombra de 
arrastre se encuentra todavía dentro del cuadro 
delimitador de la vista del objeto. 
ACTION_DRAG_EXITED Señales de que el usuario ha movido la sombra de 
arrastre fuera del cuadro delimitador de la Vista 
ACTION_DROP Señala una vista que el usuario ha publicado la 
sombra de arrastre, y el punto de arrastre está dentro 
del cuadro de límite de la Vista. 
ACTION_DRAG_ENDED Señala una vista que la operación de arrastrar y soltar 
ha concluido.
Métodos Descripción 
int getAction() Inspecciona el valor de acción de este evento 
ClipData getClipData() Devuelve el objeto ClipData enviado al sistema 
como parte de la llamada a startDrag () 
ClipDescription getClipDescription() Devuelve el objeto ClipDescription contenida 
en el ClipData. 
boolean getResult() Devuelve una indicación del resultado de la 
operación de arrastrar y soltar. 
float getX() Obtiene la coordenada X del punto de arrastre. 
float getY() Obtiene la coordenada Y del punto de arrastre. 
String toString() Devuelve una representación de cadena del 
objeto DragEvent.
Escuchar un en evento Drag 
Si deseas cualquiera de sus vistas dentro de un 
layout debes responder al evento de arrastre, 
entonces su vista debe implementar 
View.OnDragListener o configurar el método de 
devolución de llamada 
onDragEvent(DragEvent). 
Cuándo el sistema llama al método u oyente, este 
pasa al objeto DragEvent.
Usted puede tener tanto un oyente y un método 
de devolución de llamada para el objeto vista. Si 
esto ocurre, el sistema llama primero el oyente y 
define entonces de devolución de llamada 
mientras escucha devuelve un verdadero. 
La combinación del método onDragEvent 
(DragEvent) y View.OnDragListener es análoga 
a la combinación de la onTouchEvent () y 
View.OnTouchListener utilizado con eventos 
táctiles en versiones antiguas de Android.
Iniciando un evento de arrastre 
Se comienza con la creación de un ClipData y 
ClipData.Item para que los datos sean movidos. 
Como parte del objeto ClipData, los metadatos 
de suministro que se almacena en un objeto 
dentro de la ClipDescription con un ClipData. 
Para una operación de arrastre que no representa 
el movimiento de datos, es posible que desee 
utilizar nulo en lugar de un objeto real.
Por siguiente puedes extender 
View.DragShadowBuilder para crear una sombra 
de arrastre para arrastrar la vista o simplemente 
puedes usar View.DragShadowBuilder (View) 
para crear una sombra de arrastre por defecto 
que es del mismo tamaño que la vista del 
argumento pasado a la misma, con el punto de 
contacto centrada en la sombra de arrastre.
Drag android
Drag android

Más contenido relacionado

Similar a Drag android

Creando controles para Xamarin.Forms
Creando controles para Xamarin.FormsCreando controles para Xamarin.Forms
Creando controles para Xamarin.Forms
Javier Suárez Ruiz
 
Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6
Gabriela Bosetti
 
Social chess clock
Social chess clockSocial chess clock
Social chess clock
Jose Pablo Ovalle
 
Jade Agentes inteligentes básico
Jade Agentes inteligentes básicoJade Agentes inteligentes básico
Jade Agentes inteligentes básico
Octavio Abundez
 
2 desarrollo interfaz_grafico-capitulo1-02otroseventos
2 desarrollo interfaz_grafico-capitulo1-02otroseventos2 desarrollo interfaz_grafico-capitulo1-02otroseventos
2 desarrollo interfaz_grafico-capitulo1-02otroseventos
Camilo Herreño
 
Android master class
Android master classAndroid master class
Android master class
Sergi Martínez
 
Sesion 02 clases en_vb_net
Sesion 02 clases en_vb_netSesion 02 clases en_vb_net
Sesion 02 clases en_vb_net
Santos Rivera Luján
 
Java 3 d manual
Java 3 d manualJava 3 d manual
Java 3 d manual
SttOrm sindef
 
IOF Labs Weekend - Android (27082011)
IOF Labs Weekend - Android (27082011)IOF Labs Weekend - Android (27082011)
IOF Labs Weekend - Android (27082011)
repcax
 
Gbi proyeto 3 (1)
Gbi proyeto 3 (1)Gbi proyeto 3 (1)
Gbi proyeto 3 (1)
Brayan Pineda Guio
 
Taller livetrackingandroid
Taller livetrackingandroidTaller livetrackingandroid
Taller livetrackingandroid
santiagohiguera
 
Taller de Grails
Taller de GrailsTaller de Grails
Taller de Grails
Domingo Suarez Torres
 
ActionScript 3 - Iniciación
ActionScript 3 - IniciaciónActionScript 3 - Iniciación
ActionScript 3 - Iniciación
Francisco Ortiz
 
Agregar Interactividad Y La Funcion Undo
Agregar Interactividad Y La Funcion UndoAgregar Interactividad Y La Funcion Undo
Agregar Interactividad Y La Funcion Undo
UVM
 
Tutorial
TutorialTutorial
Tutorial
elidetjc
 
Adobe phonegap / Cordova API
Adobe phonegap / Cordova APIAdobe phonegap / Cordova API
Adobe phonegap / Cordova API
Yamil Lambert
 
SyntheticEvent – React.pdf
SyntheticEvent – React.pdfSyntheticEvent – React.pdf
SyntheticEvent – React.pdf
diegocastanares3005
 
Event Programing & Driven Mediator Pattern
Event Programing & Driven Mediator PatternEvent Programing & Driven Mediator Pattern
Event Programing & Driven Mediator Pattern
ripoblet
 
Desarrollo android - 4 - arquitectura de aplicación
Desarrollo android  - 4 - arquitectura de aplicaciónDesarrollo android  - 4 - arquitectura de aplicación
Desarrollo android - 4 - arquitectura de aplicación
Emilio Aviles Avila
 
9 implementacion (caso de uso)
9 implementacion  (caso de uso)9 implementacion  (caso de uso)
9 implementacion (caso de uso)
Carlos Andres Perez Cabrales
 

Similar a Drag android (20)

Creando controles para Xamarin.Forms
Creando controles para Xamarin.FormsCreando controles para Xamarin.Forms
Creando controles para Xamarin.Forms
 
Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6
 
Social chess clock
Social chess clockSocial chess clock
Social chess clock
 
Jade Agentes inteligentes básico
Jade Agentes inteligentes básicoJade Agentes inteligentes básico
Jade Agentes inteligentes básico
 
2 desarrollo interfaz_grafico-capitulo1-02otroseventos
2 desarrollo interfaz_grafico-capitulo1-02otroseventos2 desarrollo interfaz_grafico-capitulo1-02otroseventos
2 desarrollo interfaz_grafico-capitulo1-02otroseventos
 
Android master class
Android master classAndroid master class
Android master class
 
Sesion 02 clases en_vb_net
Sesion 02 clases en_vb_netSesion 02 clases en_vb_net
Sesion 02 clases en_vb_net
 
Java 3 d manual
Java 3 d manualJava 3 d manual
Java 3 d manual
 
IOF Labs Weekend - Android (27082011)
IOF Labs Weekend - Android (27082011)IOF Labs Weekend - Android (27082011)
IOF Labs Weekend - Android (27082011)
 
Gbi proyeto 3 (1)
Gbi proyeto 3 (1)Gbi proyeto 3 (1)
Gbi proyeto 3 (1)
 
Taller livetrackingandroid
Taller livetrackingandroidTaller livetrackingandroid
Taller livetrackingandroid
 
Taller de Grails
Taller de GrailsTaller de Grails
Taller de Grails
 
ActionScript 3 - Iniciación
ActionScript 3 - IniciaciónActionScript 3 - Iniciación
ActionScript 3 - Iniciación
 
Agregar Interactividad Y La Funcion Undo
Agregar Interactividad Y La Funcion UndoAgregar Interactividad Y La Funcion Undo
Agregar Interactividad Y La Funcion Undo
 
Tutorial
TutorialTutorial
Tutorial
 
Adobe phonegap / Cordova API
Adobe phonegap / Cordova APIAdobe phonegap / Cordova API
Adobe phonegap / Cordova API
 
SyntheticEvent – React.pdf
SyntheticEvent – React.pdfSyntheticEvent – React.pdf
SyntheticEvent – React.pdf
 
Event Programing & Driven Mediator Pattern
Event Programing & Driven Mediator PatternEvent Programing & Driven Mediator Pattern
Event Programing & Driven Mediator Pattern
 
Desarrollo android - 4 - arquitectura de aplicación
Desarrollo android  - 4 - arquitectura de aplicaciónDesarrollo android  - 4 - arquitectura de aplicación
Desarrollo android - 4 - arquitectura de aplicación
 
9 implementacion (caso de uso)
9 implementacion  (caso de uso)9 implementacion  (caso de uso)
9 implementacion (caso de uso)
 

Último

Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
Manuel Diaz
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
MiguelAtencio10
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
MiguelAtencio10
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
70244530
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
giampierdiaz5
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
Modo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdfModo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdf
ranierglez
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
jgvanessa23
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
cecypozos703
 
La Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docxLa Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docx
luiscohailatenazoa0
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
codesiret
 
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDADEXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
AngelCristhianMB
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf
yuberpalma
 

Último (20)

Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
Modo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdfModo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdf
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
 
La Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docxLa Inteligencia Artificial en la actualidad.docx
La Inteligencia Artificial en la actualidad.docx
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
 
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDADEXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf
 

Drag android

  • 1. Drag/Drop Android (Arrastrar y Soltar) Oscar Rubén Ramírez Hernández
  • 2. ¿Para que sirve? • Con el framework drag/drop de android puede permitir a sus usuarios mover los datos de una vista a otra Vista en el layout actual usando una técnica gráfica de arrastrar y soltar. • El framework incluye una clase de evento de arrastre, oyentes de arrastre, y clases y métodos de ayuda.
  • 3. • Aunque el framework es diseñado principalmente para el movimiento de datos, se puede utilizar para otras acciones de interfaz de usuario. • Por ejemplo, se podría crear una aplicación que mezcla los colores cuando el usuario arrastra un icono de color sobre otro icono.
  • 4. Información general • Un drag y drop inicia la operación cuando el usuario realiza un gesto que reconoce como una señal para empezar a arrastrar datos. • En respuesta, la aplicación le indica al sistema que el arrastre está empezando. • El sistema vuelve a llamar a su solicitud para obtener una representación de los datos que se arrastran.
  • 5. • Como el dedo del usuario se mueve esta representación (una "sombra de arrastre") sobre el diseño actual, el sistema envía los eventos de arrastre a los objetos detectores de eventos de arrastrar y métodos de devolución de llamada de eventos de arrastrar asociado a la vista objetos en el diseño. • Una vez que el usuario libera la sombra de arrastre, el sistema finaliza la operación de arrastre.
  • 6. El proceso Drag/Drop Hay básicamente cuatro pasos o estados en el proceso de arrastrar y soltar: Started: Este evento se produce cuando se inicia arrastrando un elemento de un diseño, la aplicación llama al método startDrag () para indicar al sistema que va a iniciar un drag. Los argumentos dentro método startDrag () proporcionan los datos a ser arrastrados, los metadatos de estos datos, y una devolución de llamada para dibujar la sombra de arrastre.
  • 7. Continuing: El usuario continúa el arrastre. El sistema envía la acción ACTION_DRAG_ENTERED seguida de la acción ACTION_DRAG_LOCATION al detector de eventos drag registrada para la vista, donde el punto de arrastre entra. El oyente puede optar por modificar la apariencia del objeto en respuesta al evento o puede reaccionar, poniendo de relieve su Vista. El detector de eventos de arrastrar recibe una acción ACTION_DRAG_EXITED vez que el usuario se ha movido a la sombra de arrastrar fuera del cuadro delimitador de la Vista.
  • 8. Dropped: El usuario suelta el elemento arrastrado dentro de la caja circundante de un Vista.El sistema envía la vista del objeto oyente a un evento de arrastre con el tipo de acción ACTION_DROP. Ended: Sólo después de que el tipo de acción ACTION_DROP, el sistema envía un evento de arrastre con el tipo de acción ACTION_DRAG_ENDED para indicar que la operación de arrastre ha terminado.
  • 9. La Clase DragEvent El DragEvent representa un evento que se envía por el sistema en varias ocasiones durante una operación de arrastrar y soltar. Esta clase proporciona unos Constantes y métodos importantes que usamos durante el Drag/Drop proceso.
  • 10. Constante Descripción ACTION_DRAG_STARTED Señala el comienzo de una operación de arrastrar y soltar. ACTION_DRAG_ENTERED Señala una vista que el punto de arrastre ha entrado en el cuadro de límite de la vista. ACTION_DRAG_LOCATION Se envía a una vista después del ACTION_DRAG_ENTERED si la sombra de arrastre se encuentra todavía dentro del cuadro delimitador de la vista del objeto. ACTION_DRAG_EXITED Señales de que el usuario ha movido la sombra de arrastre fuera del cuadro delimitador de la Vista ACTION_DROP Señala una vista que el usuario ha publicado la sombra de arrastre, y el punto de arrastre está dentro del cuadro de límite de la Vista. ACTION_DRAG_ENDED Señala una vista que la operación de arrastrar y soltar ha concluido.
  • 11. Métodos Descripción int getAction() Inspecciona el valor de acción de este evento ClipData getClipData() Devuelve el objeto ClipData enviado al sistema como parte de la llamada a startDrag () ClipDescription getClipDescription() Devuelve el objeto ClipDescription contenida en el ClipData. boolean getResult() Devuelve una indicación del resultado de la operación de arrastrar y soltar. float getX() Obtiene la coordenada X del punto de arrastre. float getY() Obtiene la coordenada Y del punto de arrastre. String toString() Devuelve una representación de cadena del objeto DragEvent.
  • 12. Escuchar un en evento Drag Si deseas cualquiera de sus vistas dentro de un layout debes responder al evento de arrastre, entonces su vista debe implementar View.OnDragListener o configurar el método de devolución de llamada onDragEvent(DragEvent). Cuándo el sistema llama al método u oyente, este pasa al objeto DragEvent.
  • 13. Usted puede tener tanto un oyente y un método de devolución de llamada para el objeto vista. Si esto ocurre, el sistema llama primero el oyente y define entonces de devolución de llamada mientras escucha devuelve un verdadero. La combinación del método onDragEvent (DragEvent) y View.OnDragListener es análoga a la combinación de la onTouchEvent () y View.OnTouchListener utilizado con eventos táctiles en versiones antiguas de Android.
  • 14. Iniciando un evento de arrastre Se comienza con la creación de un ClipData y ClipData.Item para que los datos sean movidos. Como parte del objeto ClipData, los metadatos de suministro que se almacena en un objeto dentro de la ClipDescription con un ClipData. Para una operación de arrastre que no representa el movimiento de datos, es posible que desee utilizar nulo en lugar de un objeto real.
  • 15. Por siguiente puedes extender View.DragShadowBuilder para crear una sombra de arrastre para arrastrar la vista o simplemente puedes usar View.DragShadowBuilder (View) para crear una sombra de arrastre por defecto que es del mismo tamaño que la vista del argumento pasado a la misma, con el punto de contacto centrada en la sombra de arrastre.

Notas del editor

  1. Los siguientes son todos los enteros constantes disponibles como parte de la clase DragEvent
  2. Métodos importantes y de uso más frecuente disponibles como parte de la clase DragEvent.