M0286_Libro Curso
Android
Si ejecutamos de nuevo y cuando en pantalla movemos el dedo por ella cuando nos muestra la foto, podremos ver el LogCat que hemos generado con el método anterior. La única forma de realizar esta comprobación es mediante un terminal o dispositivo real, ya que el emulador no es compatible con el multitouch.
Vemos los resultados, a continuacion, del LogCat:
Figura 3.35. Resultado del LogCat cuando movemos el dedo por la pantalla.
El evento ACTION_DOWN nos indica que el usuario pulsó con un solo dedo sobre la pantalla. Este dedo fue posicionado en las coordenadas x=136, y=140. Con el siguiente evento ACTION_POINTER_DOWN , indica que el usuario pulso en la pantalla con otro dedo. pid 1 indica que se pulso el puntero con ID 1 , o sea, el dedo 1, ya que el dedo 0 ya estaba pulsado con el anterior evento. Después, aparecen eventos ACTION_MOVE , donde salen los dos pid y si observamos detenidamente veremos que las coordenadas se van acercando. Posteriormente, aparece un ACTION_POINTER_UP en el pid 0 que nos indica que el dedo 0 se ha levantado de la pantalla, la posición donde se ha levantado y la posición donde el dedo 1 continua ( pid 1 ). Y por último, vemos un ACTION_UP que indica que hemos levantado el dedo 1 y la posición en la que estaba cuando se realizó la acción. Volviendo al código del dumpEvent() , podemos ver que getAction() nos devuelve la acción que se lleva a cabo. Los 8 bits más bajos son el código de la acción y los 8 siguientes son el ID del puntero o del dedo, por lo que usamos un operador AND a nivel de bits y un desplazamiento a la derecha >> para separarlos. Veremos cuantas posiciones de dedos están incluidas con el método getPointerCount() . Y con getX() y getY() , las coordenadas X e Y. por último con getPointerId() averiguaremos de qué dedo hablamos, si del primero que tocó la pantalla o del siguiente dedo. Con una buena interpretación de estos datos podemos pensar la forma de actuación posterior.
206
Made with FlippingBook - Online catalogs