Anidar las pestañas en Android 4 con la biblioteca de soporte (ActionBarSherlock)

Tengo serios problemas para obtener tres capas de pestañas anidadas para trabajar en una aplicación que se ejecuta desde Android 2.1 y parece Android 4 (utiliza fragmentos de biblioteca de soporte).

La meta

  • La aplicación debería tener una ActionBar (works, currenly usa ActionBarSherlock)
  • 3 lengüetas fijas en la pantalla principal, que no se mueven en el ActionBar incluso si la pantalla es lo suficientemente grande. La segunda de estas pestañas contiene …
  • Acerca de 4 pestañas que se cargaron desde un servidor cuando el usuario inició sesión la primera vez. Cada uno de ellos contiene
  • Alrededor de 10 pestañas (como en Play Store) que se cargaron desde un servidor cuando el usuario inició sesión por primera vez. Mi idea aquí es utilizar ViewPagerIndicator, puesto que esa biblioteca está escrita por el mismo individuo que ActionBarSherlock que debe guardar problemas abajo a un mínimo. Pero estoy abierto a ideas aquí). Cada una de estas pestañas deslizable contiene algo que actualmente es un fragmento, pero podría ser modificado.

El problema

Cuando se trataba de una aplicación para Android 2, simplemente utilizaba TabActivities anidadas, pero éstas no funcionan con todas las cosas de Android 4. No entiendo cómo hacer esto probablemente, especialmente la restricción "no se puede anidar fragmentos" me está causando dolores de cabeza. Además, parece que sólo se puede usar un FragmentManager por Actividad, por lo que mi idea de tener uno en cada una de las pestañas de la segunda fila no funcionó (Todo excepto la primera pestaña permaneció vacía). ¿Cómo hacer esto de la manera correcta?

(Por favor, entienda que "Usar un diseño de GUI diferente" no es una opción ya que esto es lo que el cliente pidió y él no reconsiderará)

PagerAdapter no requiere Fragments como niños. Puede inflar / administrar sus propias vistas personalizadas. Para que pueda continuar utilizando TabActivities anidado. O bien, puede colocar Fragments en el nivel superior y administrar sus propias Views en el ViewPager nivel ViewPager .

También podría, en teoría, utilizar ViewFlipper si desea conservar los fragmentos en ViewPager . Tendrás que escribir tu propio LinearLayout con Buttons como pestañas, pero esto es fácil. Si usted está buscando la mirada de Holo, fije simplemente el estilo a los encontrados en ABS.

Otra opción es utilizar TabHost sin utilizar TabActivity . Incluso puedes usarlo con Fragmentos. Vea el ejemplo aquí .

También tenga en cuenta: Si está buscando el estilo de Google Play de ViewPagerIndicator, ahora está incluido en el paquete de soporte: PagerTitleStrip .

Me imagino que su mejor opción es utilizar Fragmentos como el nivel superior, ya que esto ayudará con el consumo de memoria.

Dicho esto,

Debo decir que esto suena como un terrible patrón de interfaz de usuario. Aún peor, estamos hablando de muchas opiniones infladas en una Activity . Usted puede ejecutar en problemas de memoria aquí, dependiendo de lo que se muestra. Sugiero el uso intensivo de ViewStubs y el reciclaje si mantiene el ViewPager en la parte inferior.

Sigue tratando de empujar al cliente hacia el uso del patrón de spinner ActionBar de nivel superior (3 pestañas principales), o incluso considerar el patrón de cajones deslizantes de lujo. Tal vez esa suave animación podría ser suficiente para influir en su opinión.

Remítase a la página web oficial del diseño y muestre ejemplos de patrones de navegación populares como los que se encuentran en Gmail, YouTube, Google+, Evernote, etc. Recientemente he tratado con un cliente solicitando el mismo patrón que usted describe y después de semanas de empujar Fue capaz de convencerlos de que más de `2 capas de pestañas es inaceptable .

También puedes mostrarles mi página de Google+ Muro de la vergüenza , resaltando los malos patrones de diseño utilizados en las populares aplicaciones de Android : Android UI Anti-Patterns . Todos los derechos reservados

  • Creación de una compilación de Gradle para Android que utiliza ViewPagerIndicator
  • Uso de la biblioteca ViewPagerIndicator con Android Studio y Gradle
  • Personalizar el relleno y el margen en IconPageIndicator
  • Aparato de vista de Android con indicador de página
  • ViewPagerIndicator CirclePageIndicator no se puede instanciar
  • Fijar las pestañas con android.support.v4.view.PagerTabStrip o ViewPagerIndicator
  • Cambiar dinámicamente los títulos de ViewPagerIndicator
  • Gradle - No se puede importar viewpagerindicator en Android Studio usando gradle dependency
  • Dar texto de la pestaña seleccionada un color diferente utilizando ViewPagerIndicator
  • Imágenes en lugar de textos de título en las pestañas del widget ViewPagerIndicator
  • Android: RecyclerView dentro de un ScrollView
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.