Haga que las pestañas de ActionBar se desplacen cuando alcance límite, en lugar de crear una lista desplegable

Como sugiere el título, tengo una aplicación Android 4.0 Tablet, que utiliza la barra de herramientas y el modo de pestaña.

Si añado más de 4 o 5 pestañas a la barra de acción, se creará una lista desplegable. He leído la documentación, que dice: "Nota: En algunos casos, el sistema Android mostrará las pestañas de la barra de acción como una lista desplegable para asegurar el mejor ajuste en la barra de acción".

¿Apenas se preguntaba si es posible anular el comportamiento del defecto y conseguir la barra de acción para desplazar los artículos? El documento de diseño http://developer.android.com/design/patterns/actionbar.html habla de pestañas desplazables, pero no puedo encontrar ninguna información sobre ellos aparte del documento de diseño.

4 Solutions collect form web for “Haga que las pestañas de ActionBar se desplacen cuando alcance límite, en lugar de crear una lista desplegable”

He estado luchando para que esto funcione. Sin embargo, después de jugar con ActionBarSherlock, la solución es irritantemente fácil. Si descarga la fuente Styled de ejemplo y busca en la clase MainActivity, puede verla crear y agregar las pestañas, y debajo de ella:

actionBar.setDisplayShowTitleEnabled(false); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

Había llamado estos ANTES de añadir las pestañas, y mis pestañas se había convertido en una lista desplegable. Resulta que todo lo que necesitas hacer es llamarlos después de agregar las pestañas en lugar de guardar las pestañas de desplazamiento.

Lea la sección "Agregar una vista de acción" de http://developer.android.com/guide/topics/ui/actionbar.html

Una vista de acción es un widget que aparece en la barra de acción como un sustituto del botón de un elemento de acción.

Puede utilizar HorizontalScrollView como vista de acción especificando

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/mytabwidget" android:title="" android:icon="@drawable/ic_launcher" android:showAsAction="always" android:actionViewClass="android.widget.HorizontalScrollView" /> </menu> 

Obtener referencia a este HorizontalScrollView en public boolean onCreateOptionsMenu(Menu menu)

Defina un RadioGroup con algún RadioButton donde cada RadioButton cuando se selecciona, actualizará su contenido asociado de las fichas. Ahora agregue este RadioGroup a HorizontalScrollView que obtendrá en public boolean onCreateOptionsMenu(Menu menu)

Puede utilizar selectTab(ActionBar.Tab tab) o algún otro método equivalente para actualizar el contenido de las pestañas.

Puede cambiar el aspecto de RadioButton estableciendo android:button a imagen transparente y, a continuación, establecer algunos StateListDrawable con estados StateListDrawable , seleccionados y normales.

Vea abajo la pantalla que conseguí usando este método.

Introduzca aquí la descripción de la imagen

En la imagen de arriba, cada RadioButton cuando se selecciona, selecciona la pestaña diferente.

¿Ha comprobado la aplicación de ejemplo de Honeycomb Gallery en el SDK? Puede tener lo que está buscando. Instálelo en un dispositivo ICS no tablet para ver las pestañas desplazables. Una tableta tiene demasiado espacio de pantalla para desplazarse.

http://developer.android.com/resources/samples/HoneycombGallery/index.html

La interfaz de usuario funciona de la manera que es por una razón. Es extremadamente confuso tener un conjunto desplazable de pestañas. Hay una buena probabilidad de que no esté claro en absoluto que hay más pestañas disponibles a la derecha, y el usuario nunca sabrá que pueden desplazarse por las pestañas para acceder a más funciones.

Recomiendo seguir con la forma en que la plataforma está diseñada para funcionar. Generalmente hace las cosas por una razón.

  • Deshabilitar tabulaciones en TabLayout
  • ¿Cómo utilizar el flash / led de la cámara como antorcha en una lengüeta de Samsung Galaxy?
  • Cambiar el relleno de TextView en TabLayout
  • Transacción entre fragmentos sólo dentro de una pestaña ActionBar
  • Mostrar opciones de menú en la barra de herramientas de Actividad contiene pestañas como fragmento
  • ¿Cómo inhabilito las pestañas deslizantes cuando estoy en la barra de acción contextual, haciendo que las pestañas no se puedan hacer clic / deslizar?
  • No se encontró ningún identificador de recurso para el atributo 'layout_behavior' en el paquete
  • No se pueden intercambiar fragmentos correctamente en las pestañas de la barra de acciones
  • Las pestañas TabHost de Android roban el enfoque al utilizar el teclado de hardware
  • Fragmentos dentro de las pestañas del fragmento
  • Cómo implementar Android 4.0 como deslizar para descartar funcionalidad en ListView?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.