2011-04-12 34 views
5

Tengo una aplicación que es una actividad de Pestañas con varias pestañas que cargan una Actividad. Me gustaría agregar gestos de deslizamiento para cambiar entre pestañas, tanto en el control de pestañas en sí y cada actividad cargada en una pestaña. Es algo como esto posible? No estoy seguro de a qué "profundidad" se escucha el gesto cuando se realizan gestos en una actividad alojada en el control de pestañas, o si las actividades internas tendrían que pasar datos al host de pestañas.Deslizar para cambiar la selección de la pestaña

Respuesta

3

Es ciertamente posible; Tendrá que escribir un diseño personalizado y anular onTouchEvent y onInterceptTouchEvent para decidir si enviar los gestos a través de los niños. Consulte la fuente de HorizontalPager para obtener detalles sobre cómo puede hacerlo. En realidad, puede que quiera usar HorizontalPager directamente (hay una demostración en la simulación de pestañas), ya que creo que el contenido desplazable hace que sea mucho más claro que puede deslizar entre las pestañas.

2

Puede usar un detector de gestos. Por lo que yo sé, escucha gestos "globalmente". Para restringirlo a la pestaña, puede verificar si el gesto se ha producido dentro de los límites de la pestaña.

GestureDetector

Detecta varios gestos y eventos utilizando los MotionEvents suministrados. La devolución de llamada GestureDetector.OnGestureListener notificará a los usuarios cuando se haya producido un evento de movimiento particular . Esta clase solo se debe utilizar con MotionEvents informados a través del tacto (no uso de para eventos de trackball). Para utilizar esta clase :

  • crear una instancia de la GestureDetector para su punto de vista en el método nTouchEvent (MotionEvent) asegurarse de que llame
  • onTouchEvent (MotionEvent). Los métodos definidos en su función se ser ejecutados cuando se producen los eventos

Fuente: http://developer.android.com/reference/android/view/GestureDetector.html

Flagelo Gesto

Esta página muestra cómo reconocer un golpe en gestos usando el GestureDetector: http://smartandroidians.blogspot.com/2010/04/swipe-action-and-viewflipper-in-android.html

+0

Esta es información útil sobre GestureDetector, pero todavía no estoy seguro de cómo tener el flujo de detección de gestos t a través de las actividades alojadas en las pestañas. El detector de gestos solo funciona en el espacio que no ocupa una actividad en una pestaña. –

Cuestiones relacionadas