2012-01-29 14 views
19

Si agrega pestañas a su ActionBar, estarán en una pila adicional ActionBar en teléfonos en modo vertical. ¿Hay alguna manera fácil de averiguar si esto sucedió?Averigüe si se apila ActionBar

He adjuntado dos capturas de pantalla de la aplicación de YouTube. El primero muestra el ActionBar normal con las pestañas, el segundo muestra las pestañas en un ActionBar apilado.

Youtube App (landscape) Youtube App (portrait)

Respuesta

1

Este comportamiento se denomina Dividir Barra de acción. Sucede cuando el AndroidManifest se configura con uiOptions="splitActionBarWhenNarrow" en el elemento <activity> o <application>.

Android ajusta la apariencia de la barra de acciones de varias maneras, según el tamaño de pantalla actual. El uso de la barra de acción dividida es solo una opción que puede habilitar para permitir que la barra de acciones optimice aún más la experiencia del usuario para diferentes tamaños de pantalla. Al hacerlo, también puede permitir que la barra de acción contraiga las pestañas de navegación en la barra de acciones principal. Es decir, si usa pestañas de navegación en su barra de acción, una vez que los elementos de acción se separan en una pantalla estrecha, las pestañas de navegación pueden caber en la barra de acción principal en lugar de separarse en la "barra de acción apilada".

Mock-ups of split action bar with navigation tabs on the left; with the app icon and title disabled on the right.

Puede obtener más detalles here.

+1

Eso no es exactamente lo que pedí. Citando el enlace en la parte inferior de su publicación: "Cuando habilita la barra de acción dividida, * aparece una barra separada en la parte inferior de la pantalla * para mostrar todos los elementos de acción cuando la actividad se ejecuta en una pantalla estrecha (como un retrato teléfono orientado). " – Julian

+1

Barra de acciones apiladas es algo diferente de Split ActionBar. Los detalles se encuentran en el mismo enlace al que se hace referencia en la respuesta. – MSquare

2

Es posible determinar si hay una o dos líneas en la barra de acción por su altura. Existe el método getHeight(), pero no funcionará en onCreate o onStart, devolverá valor real solo si la actividad ya se inició.

En la orientación horizontal, la altura de la barra de acciones es 40dip (80/60/40/30 px en diferentes pantallas), en orientación vertical con pestañas es 96dp (192/144/96/72 px).

No es la mejor idea confiar en esto, pero no puedo encontrar ninguna otra forma de averiguar si las pestañas están dentro de la barra de acciones.

-2

bien he creado una ActionBar similar a Instagram con una ActionBar inferior sin la necesidad de utilizar pestañas. Eche un vistazo a esta imagen. He respondido esta pregunta relacionada con otra pregunta hace 10 minutos. CustomView ActionBar And Fake Bottom ActionBar para que pueda hacer esto, tiene que crear tres diseños separados. uno para la parte inferior para usarlo como Include y otro para ActionBar Para usarlo como barra de acciones.

si revisa mis últimas respuestas, encontrará cómo lo hice. espero que te beneficie de todos modos. aplausos

Cuestiones relacionadas