2010-07-19 13 views
9

¿Es posible detectar todos los eventos táctiles en una actividad y capturarlos y luego pasar ese evento de pase a otra vista?Cómo detectar eventos táctiles en Android

Por ejemplo:

los botones 1 y 2. Cuando se pulsa el botón 1 Quiero capturar ese toque/haga clic en evento y automáticamente pasar a ese evento táctil para el botón 2, básicamente con un solo toque/presione a obtener el haga clic en generado y ese mismo clic se pasa automáticamente al segundo botón.

Respuesta

18

toman mirar esta descripción API primera.


booleano android.app.Activity.dispatchTouchEvent (MotionEvent ev)

dispatchTouchEvent public boolean (MotionEvent ev) desde: API Nivel 1 Llamado para procesar eventos de pantalla táctil. Puede anular esto para interceptar todos los eventos de pantalla táctil antes de que sean enviados a la ventana. Asegúrese de llamar al esta implementación para eventos de pantalla táctil que normalmente se deben manejar .

Parámetros ev El evento de la pantalla táctil.

Devuelve booleano Devuelve true si se consumió este evento .

Como puede ver, puede interceptar todos los eventos táctiles.

@Override 
public boolean dispatchTouchEvent(MotionEvent ev) { 
    // TODO Auto-generated method stub 
    super.dispatchTouchEvent(ev); 
    if(btn1.onTouchEvent(ev)){ 
     return btn2.onTouchEvent(ev); 
    }else{ 
     return false; 
    } 
} 

Estos códigos son lo que está buscando, creo.

+2

Gracias atrapa todos los eventos táctiles en el nivel de actividad –

3

Imagino que podría tomar el TouchEvent desde el botón presionar, y hacer una llamada al otro botón, pasando el TouchEvent, pero no estoy seguro de qué tan seguro sería. (Android puede bombardearlo)

Una solución más segura sería subclase botón y utilizar el patrón de diseño Observador. Puede registrar cada botón para escuchar las pulsaciones de los botones de cada botón, y luego podrá pasar con seguridad el TouchEvent entre todos ellos.

Si no está familiarizado con el patrón de diseño Observer, aquí hay un enlace: http://en.wikipedia.org/wiki/Observer_pattern

Cuestiones relacionadas