Click here to load reader

Drag android

  • View
    186

  • Download
    0

Embed Size (px)

DESCRIPTION

Descripción, manejo y funcionalidad del Drag y el Drop en android.

Text of Drag android

  • 1. Drag/Drop Android (Arrastrar y Soltar) Oscar Rubn Ramrez Hernndez
  • 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 tcnica grfica de arrastrar y soltar. El framework incluye una clase de evento de arrastre, oyentes de arrastre, y clases y mtodos de ayuda.
  • 3. Aunque el framework es diseado principalmente para el movimiento de datos, se puede utilizar para otras acciones de interfaz de usuario. Por ejemplo, se podra crear una aplicacin que mezcla los colores cuando el usuario arrastra un icono de color sobre otro icono.
  • 4. Informacin general Un drag y drop inicia la operacin cuando el usuario realiza un gesto que reconoce como una seal para empezar a arrastrar datos. En respuesta, la aplicacin le indica al sistema que el arrastre est empezando. El sistema vuelve a llamar a su solicitud para obtener una representacin de los datos que se arrastran.
  • 5. Como el dedo del usuario se mueve esta representacin (una "sombra de arrastre") sobre el diseo actual, el sistema enva los eventos de arrastre a los objetos detectores de eventos de arrastrar y mtodos de devolucin de llamada de eventos de arrastrar asociado a la vista objetos en el diseo. Una vez que el usuario libera la sombra de arrastre, el sistema finaliza la operacin de arrastre.
  • 6. El proceso Drag/Drop Hay bsicamente cuatro pasos o estados en el proceso de arrastrar y soltar: Started: Este evento se produce cuando se inicia arrastrando un elemento de un diseo, la aplicacin llama al mtodo startDrag () para indicar al sistema que va a iniciar un drag. Los argumentos dentro mtodo startDrag () proporcionan los datos a ser arrastrados, los metadatos de estos datos, y una devolucin de llamada para dibujar la sombra de arrastre.
  • 7. Continuing: El usuario contina el arrastre. El sistema enva la accin ACTION_DRAG_ENTERED seguida de la accin 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 accin 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 enva la vista del objeto oyente a un evento de arrastre con el tipo de accin ACTION_DROP. Ended: Slo despus de que el tipo de accin ACTION_DROP, el sistema enva un evento de arrastre con el tipo de accin ACTION_DRAG_ENDED para indicar que la operacin de arrastre ha terminado.
  • 9. La Clase DragEvent El DragEvent representa un evento que se enva por el sistema en varias ocasiones durante una operacin de arrastrar y soltar. Esta clase proporciona unos Constantes y mtodos importantes que usamos durante el Drag/Drop proceso.
  • 10. Constante Descripcin ACTION_DRAG_STARTED Seala el comienzo de una operacin de arrastrar y soltar. ACTION_DRAG_ENTERED Seala una vista que el punto de arrastre ha entrado en el cuadro de lmite de la vista. ACTION_DRAG_LOCATION Se enva a una vista despus del ACTION_DRAG_ENTERED si la sombra de arrastre se encuentra todava dentro del cuadro delimitador de la vista del objeto. ACTION_DRAG_EXITED Seales de que el usuario ha movido la sombra de arrastre fuera del cuadro delimitador de la Vista ACTION_DROP Seala una vista que el usuario ha publicado la sombra de arrastre, y el punto de arrastre est dentro del cuadro de lmite de la Vista. ACTION_DRAG_ENDED Seala una vista que la operacin de arrastrar y soltar ha concluido.
  • 11. Mtodos Descripcin int getAction() Inspecciona el valor de accin 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 indicacin del resultado de la operacin 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 representacin 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 mtodo de devolucin de llamada onDragEvent(DragEvent). Cundo el sistema llama al mtodo u oyente, este pasa al objeto DragEvent.
  • 13. Usted puede tener tanto un oyente y un mtodo de devolucin de llamada para el objeto vista. Si esto ocurre, el sistema llama primero el oyente y define entonces de devolucin de llamada mientras escucha devuelve un verdadero. La combinacin del mtodo onDragEvent (DragEvent) y View.OnDragListener es anloga a la combinacin de la onTouchEvent () y View.OnTouchListener utilizado con eventos tctiles en versiones antiguas de Android.
  • 14. Iniciando un evento de arrastre Se comienza con la creacin 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 operacin 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 tamao que la vista del argumento pasado a la misma, con el punto de contacto centrada en la sombra de arrastre.