El evento "touchmove" en el sistema android: Transformer Prime
Estoy trabajando en un transformador de almohadilla y el desarrollo de una placa de dibujo. Utilizo PhoneGap (javascript) para escribir el código en lugar de JAVA.
Pero el evento touchmove es muy raro.
- Vista de desplazamiento de Android en evento táctil
- Cómo hacer la detección de objetos en opengl Android?
- Manejo de MotionEvent en ScrollView en Android
- Superposición de Android para tomar todo el tacto, y pasarlos?
- Vista ScrollView con niños, cómo interceptar desplazamiento condicional
Pienso que mientras muevo mi dedo sobre la almohadilla, continuamente recogerá las coordenadas que toco en el lienzo. ¡PERO NO LO HACE! Es ridículo, solo recolecta coordenadas "1": el primer punto en el lienzo al que se mueve mi dedo.
Aquí está mi código sobre el evento "Touch && Move":
function touchStart(event){ if (event.targetTouches.length == 1) { var touch = event.targetTouches[0]; if (event.type == "touchstart") { line_start_x= touch.pageX- canvas_org_x; line_start_y= touch.pageY- canvas_org_y; context.beginPath(); context.moveTo(line_start_x, line_start_y); }//if }//if 1 }//function. function Touch_Move(event){ line_end_x= event.touches[0].pageX- canvas_org_x; line_end_y= event.touches[0].pageY- canvas_org_y; context.lineTo(line_end_x, line_end_y); context.stroke(); test++; }
No sé por qué cada vez que muevo mi dedo en la almohadilla, tratando de dibujar una línea, curva, o cualquier cosa que quiero. Cuando el dedo se mueve, sólo aparece un segmento MUY CORTO. Así que declaro una variable: "var test = 0" en el comienzo de este archivo js. Encontré que aunque muevo mi dedo en el cojín sin dejarlo o parar, el valor de "prueba" permanece 1. Significa que muevo mi dedo en él. Pero no se activa continuamente el evento: "Touch_Move".
¿Qué puedo hacer ahora? Necesito un evento correspondiente para "mousemove" en la pantalla táctil. Al menos, el evento tiene que ser continuamente activado.
Thank you!
- El evento touchend no funciona en Android
- Resplandor cuando toque la pantalla en android?
- Desactivar el disparo de touchcancel en el navegador de Android
- Los elementos secundarios ExpandableListView no obtienen el enfoque cuando se tocan
- Cómo deshabilitar el toque en el área del fragmento
- Android: El botón personalizado OnClickListener no se invoca
- Arrastra un RelativeLayout en google Map con touch
- ¿Alguien sabe lo que significa la salida de getevent?
Oh Jesús. Finalmente encuentro las respuestas: Por favor tome referencias para este sitio.
Si trabaja en un sistema Android, recuerde que el 'toquemove' sólo se dispara una vez que su dedo se mueve alrededor del pad. Así que si quieres dibujar una línea o algo así, tienes que hacer esto:
function onStart ( touchEvent ) { if( navigator.userAgent.match(/Android/i) ) { // if you already work on Android system, you can skip this step touchEvent.preventDefault(); //THIS IS THE KEY. You can read the difficult doc released by W3C to learn more. }
Y si tienes más tiempo, puedes leer el documento del W3C sobre la introducción del 'movetouch', es REALMENTE difícil de entender. El doc apesta.