Android: desliza hacia la izquierda. Detección de gestos
Estaba tratando de agregar esta función de "gesto" a mi primer programa, y casi todas las búsquedas que hice vinieron a este hilo:
Detección de gestos fling en el diseño de la cuadrícula
- Cómo implementar OnZoomListener en MapView
- Audífono personalizado de eventos de Android
- Detector de gestos no funciona
- SetOnEditorActionListener no se llama en lollipop
- Agregar un oyente a un botón dentro de un alerta de alerta personalizado bloquea mi aplicación
Yo era capaz de conseguir que funcione .. pero en mi caso, no estoy seguro si es 100% correcto.
En mi diseño, tengo 3 linear linearLayouts, cada uno tiene 5 botones .. así que es 3 columnas de 5 botones .. de acuerdo con el hilo que tenía que:
"Conecte su oyente de gestos a todas las vistas que agregue al diseño principal;"
Que significa para todos los 15 botones:
"Button.setOnTouchListener (gestureListener);"
¿No podría decir que los LinearLayouts con los botones son los que buscan los gestos de deslizamiento? O porque están "escondidos" en la parte posterior de los botones, esto no se puede hacer?
Porque tengo otro diseño que quiero implementar con esto, y tiene aún más botones ..
Así que .. sólo buscando una forma más sencilla de detectar en mi pantalla para golpear a la derecha | Izquierda .. si existe ..
Gracias de antemano
- ¿Cómo detectar cuando el usuario pulsa la tecla "menú" en su dispositivo Android?
- OnTouchListener en vista invisible
- Android: escucha para detectar cambios en las propiedades de una vista (por ejemplo, android: layout_marginTop)
- Android, escucha de la casilla de verificación en XML?
- ¿Cómo iniciar una actividad diferente usando la caja de conmutación en el elemento de menú?
- Audiencia de eventos personalizada en la aplicación para Android
- ¿Cómo puedo cambiar el editor?
- Android View.OnKeyListener: haga clic una vez, ejecute dos veces
¿No podría decir que los LinearLayouts con los botones son los que buscan los gestos de deslizamiento? O porque están "escondidos" en la parte posterior de los botones, esto no se puede hacer?
Creo que es precisamente el problema que vas a enfrentar a menos que detecte el golpe en todos los objetos visuales.
Cuanto más botones (u otros widgets) aparezcan en la pantalla, más preciso tendrá un usuario al iniciar / finalizar el gesto de deslizamiento. En otras palabras, tendrían que iniciar / terminar ambos en espacios entre los botones.
Para detectar un deslizamiento se requieren ubicaciones de inicio y final – si el usuario comienza y termina en los botones (que no están escuchando el golpe), entonces no se detectará un golpe. Del mismo modo, comenzar en un botón y terminar en un "gap" (o viceversa) no detectará un swipe válido ya sea porque sólo uno de los puntos de inicio / final es válido para 'detección de deslizamiento'.
El mejor enfoque que puedo pensar (aunque nunca he intentado yo mismo) es utilizar un GestureOverlayView. Esto le permite tener una superposición transparente encima de su vista de fondo y se puede utilizar para detectar cosas como "deslizar" sin que sus vistas subyacentes necesiten saber sobre gestos.
Ver esto en los desarrolladores de recursos Gestos
- Error de tiempo de espera de volley
- Diseño de notificaciones personalizadas de Android con RemoteViews