Estoy tratando de implementar el uso del pellizco-zoom en una aplicación que estoy creando y tengo problemas con el evento onTouch. Parece que las acciones descendentes del & del puntero no se disparan inmediatamente, como que no se moverá un puntero hacia arriba o hacia abajo hasta que se produzca un movimiento de acción. Entonces, ¿qué pasa si ambos dedos presionan la pantalla casi simultáneamente? Es que el 2º dedo (debería ser un puntero (1)) obtiene una acción de movimiento antes de llamar al puntero hacia abajo, haciendo que el código piense que es un ARRASTRE no un zoom pellizco. ¿Alguien más ha visto esto? De todos modos alrededor de eso? Gracias.evento onTouch que a veces no se activa ACTION_POINTER_DOWN
Respuesta
Tuve el mismo problema en mi proyecto. Si toco la pantalla y mis dedos están demasiado cerca uno del otro, el sistema no realiza un evento multitáctil. Creo que es porque cuando tus dedos están demasiado cerca el sistema lo ve como un solo dedo.
Quizás pueda verificar esta suposición utilizando el método getSize() para estimar el área de la pantalla que se presiona cuando toca la pantalla con un solo dedo y cuando toca la pantalla con dos dedos cerca del borde.
Resultó ser un problema con la ROM personalizada que había flasheado en mi Evo. Gracias de nuevo a hara por su consejo ya que resultó ser otro error que tuve.
enfrentan el mismo problema resultó que ACTION_POINTER_2_DOWN estaba siendo despedido en mi aplicación cuando toqué el segundo dedo y después de eso ACTION_MOVE fue despedido el método getAction() da el número de evento, que necesita ser comprobada contra esta lista
http://developer.android.com/reference/android/view/MotionEvent.html#ACTION_MOVE – Omkar
asegúrese de incluir MotionEvent.ACTION_MASK en su interruptor. Por ejemplo:
switch(event.getAction() & MotionEvent.ACTION_MASK){
case MotionEvent.ACTION_DOWN:
some code
break;
case MotionEvent.ACTION_POINTER_DOWN:
ETC
He resuelto el mismo problema con esto:
switch(event.getActionMasked()) {
case MotionEvent.ACTION_POINTER_DOWN:
//your code
break;
}
me he dado cuenta de que este caso (MotionEvent.ACTION_POINTER_DOWN) ser despedido si método onTouch (evento) ha vuelto como verdadera como se indica a continuación:
@Override
public boolean onTouchEvent(MotionEvent event) {
switch(motionEvent.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_POINTER_DOWN:
//your code
break ;
}
return true;
}
Nota: MotionEvent.ACTION_DOWN consiguiendo solamente si el método escuchado onTouch() tiene r generó un valor booleano como return super.onTouchEvent (evento); así que asegúrese de ser cierto para evitar esta situación.
- 1. Evento de delegado que se activa dos veces
- 2. Evento ASP.Net Session_Start que no se activa
- 3. evento 'scroll' que no se activa en CompositeView
- 4. ¿Por qué WebBrowser_DocumentCompleted() se activa dos veces?
- 5. backbone.js haga clic en el evento que no se activa
- 6. FileSystemWatcher - evento que no se activa por segunda vez
- 7. Evento Form.Load no se activa, formulario que muestra
- 8. Evento SelectedIndexChanged de DropDownList que no se activa
- 9. .NET SerialPort Evento DataReceived que no se activa
- 10. Evento onclick que no se activa en jsfiddle.net
- 11. Evento div hover vacío que no se activa en IE
- 12. evento onScroll no se activa para listview
- 13. Evento DOMContentLoaded que se activa dos veces para una sola carga de página
- 14. Evitar que el evento click se active cuando se activa el evento dblclick
- 15. Cierre de Google - Html5History activa el evento NAVIGATE dos veces
- 16. Multiple Views OnTouch Events
- 17. WPF - Diseño Evento actualizado que se repite varias veces
- 18. Android: nunca se llama a onTouch()?
- 19. evento click se disparó dos veces - jQuery
- 20. beforeShow evento no se activa en jQueryUI Datepicker
- 21. Application.Idle evento no se activa en la aplicación WPF
- 22. Evento de audio HTML5 'progress' no se activa
- 23. jQuery .change() evento no se activa en IE
- 24. socket.io - el evento 'connect' no se activa en el cliente
- 25. ¿El evento KeyDown no se activa con .NET WinForms?
- 26. ViewPager OnLongClick oyente que no se activa
- 27. asp: ImageButton no activa el evento onclick
- 28. Mobile Safari: evento "touchend" que no se activa cuando se elimina el último toque?
- 29. OnTouch funciona, pero OnClickListener no?
- 30. En IE, el evento onbeforeunload se activa para los enlaces que no descargan la página
Gracias por el consejo, eso será útil, estoy seguro. Pero no estoy seguro de que ese sea mi problema, ya que ocurre sin importar dónde toque la pantalla. Utilizando el depurador puedo ver que los eventos de subida y bajada del puntero parecen estar siempre retrasados, y ocurren después de un evento de movimiento (y el evento de movimiento siempre tiene solo un puntero en esa instancia). Incluso probé la aplicación "Dotty" y pude ver el mismo comportamiento en ella. ¿Podría ser un problema de hardware? Tengo una ROM Evo w/custom. Gracias. – JStew