Primero introduzca la mejor información que se encuentra en línea:
http://wayfarer.javaeye.com/blog/460284
http://goro.javaeye.com/blog/402163
http://www.williamhua.com/2009/04/23/android-touchscreen-gesture-recogniton/
Resumen:
1.OngestureListener tiene que usarse con OnTouchListener, porque solo OnTouchListener es el monitoreo real del toque del usuario. Toca la “categoría de reconocimiento de gestos” de todos los usuarios de monitoreo. Funciones, como Onfling, OnlinePress, etc.
2. Si el incidente no continuará pasando y regresa a verdadero, como Onfling, Onscroll, OnsingletApup
3.MotionEvent Getx es un valor de coordenada del eje x calculado en función de la esquina superior izquierda del widget. El valor de coordenadas del eje x calculado en función de la esquina superior izquierda de la pantalla como el punto original calculado por la esquina superior izquierda de la pantalla.
4.prensa larga y diapositiva inválida,Gesturedetector predeterminado para abrir la notificación de LongPress, pero hay un problema. Después de una larga presión, la mano no sale de la pantalla y se desliza. En este momento, se descubre que no hay un evento deslizante.En la pantalla de inicio del monolito, lo que debe deslizarse después de una larga presión, la presión larga no necesita.
Este problema es configurar objetos de reconocimiento de gestos y prohibir el crecimiento y el incidente presionante
mGestureDetector.setIsLongpressEnabled(false);
Por supuesto, no hay un incidente de desactivación larga, y el incidente deslizante sigue siendo efectivo. Solo es necesario asegurarse de que se deslice inmediatamente después de la pantalla táctil. No espere a que el sistema genere prensa larga.
5.recién crea una clase SimpleGentureListener heredadapuede lograr los siguientes eventos de eventos.
boolean onDoubleTap(MotionEvent e)
Explicación: Haga doble clic en el segundo gatillo de toque
boolean onDoubleTapEvent(MotionEvent e)
Explicación: El segundo toque hacia abajo y el doble de clics se activará, y se puede distinguir por E.GetAction ().
boolean onDown(MotionEvent e)
Explicación: desencadenantes al tocar
boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
Explicación: Después de deslizar un poco de distancia, se activa cuando está arriba.
void onLongPress(MotionEvent e)
Explicación: El toque se activa cuando no se mueve.
boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
Explicación: Touch se desencadena cuando se deslizan.
void onShowPress(MotionEvent e)
Explicación: el toque se activa cuando se desliza(yonShowPress, comparación de prensaOndown siempre que el toque debe activarse de inmediato.y touchdown después de un tiempo sin deslizarse, primero active OnshowPress y luego en línea.Entonces el touchdown no se ha deslizado después, y ondown-> onshowpress-> onlongpress.)
boolean onSingleTapConfirmed(MotionEvent e)
boolean onSingleTapUp(MotionEvent e)
Explicación: Las dos funciones anteriores no se deslizan después del toque, y ya no retienen (en línea Press), y luego se activan cuando se retozan.
Haga clic muy rápido (no deslizamiento) retoque:
onDown->onSingleTapUp->onSingleTapConfirmed
Haga clic para ser un poco más lento (no deslizante) Retoque:
onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed
2) Cree un nuevo objeto de gestiDetector a la vista.
función de construcción
gestureDetector = new GestureDetector(new HahaGestureDetectorListener());
y luego use esto en la vista de la vista de la siguiente manera
@Override public boolean onTouchEvent(MotionEvent event) { gestureDetector.onTouchEvent(event); }
y luego puedes estar en
Escriba su propio código en el eventoHahaGestureDetectorListener.
NOTA: SimpleOngeGestureListener no proporciona onUp (), y debe escribir el código correspondiente en los casos de visualización de MotionEvent.action_Up: en vista de la vista.