2012-08-31 12 views
5

Me di cuenta de que la barra de acciones (Theme.Holo) parece genial solo en Android 3.0 o superior, pero no le gusta agradable, por ejemplo, Android 2.3 .Cómo ocultar la barra de acciones (Theme.Holo) si la versión de Android está por debajo de 3.0

¿Estás ahí para mostrar la barra de acción (Theme.Holo) basada en la versión de Android?

+1

¿No podría usar dos diseños y establecer uno para Pre 3.0 y uno para Post 3.0? – AxGryndr

+0

Prefiero que lo haga progrmáticamente, por ejemplo, reviso la versión de Android, si está por debajo de 3.0, elimino la barra. – user836026

+1

No hay una barra de acciones en Android 2.3, a menos que realice pasos específicos para agregar código de terceros que implemente uno (por ejemplo, ActionBarSherlock). – CommonsWare

Respuesta

4

Eso es debido a que la Barra de acciones no se agregó hasta Android 3.0 (API nivel 11) por lo que cualquier versión de Android menor que eso tendrá una barra de título, no una barra de acción.

La Barra de acciones aún no es parte de la biblioteca oficial de compatibilidad, por lo que en la media hora, la biblioteca ActionBarSherlock le permitirá tener una Barra de acciones que tiene el mismo aspecto en todas las versiones de la API.

Si desea ocultar completamente la Barra de acciones, simplemente agregue agregar android: style/Theme.Holo.NoActionBar a las actividades en el manifiesto.

+0

Gracias ... ¿cómo agregaría Android: estilo/Tema. Holo.NoActionBar progmtically dependiendo de la versión de Android. – user836026

+0

no creo que se puede añadir ese atributo mediante programación, pero ActionBarSherlock se ocuparía de las diferentes versiones de Android para que, dando a su aplicación el mismo buen Barra de acciones en todas las versiones de la API ¿Está tratando de ser capaz de ocultar la Barra de acciones por completo durante algo más bajo que Android 3.0? y mostrarlo para Android 3.0+? – starkej2

+0

Sí, pero para ser más precisos, me gustaría ocultar la "barra de título" en Android inferior a 3,0 y mantener la "barra de acción" en 3+ – user836026

5

La barra de acciones requiere API 11 como mínimo. Si desea eliminarlo programáticamente, puede usar hide() en el código para esa actividad.

ActionBar actionBar = getActionBar(); 
actionBar.hide(); 

No estoy seguro de lo que mostraría para cualquier cosa por debajo de 3,0, pero parece que el mejor lugar para empezar.

Editar:

Puede comprobar la versión del SDK en tiempo de ejecución con la construcción de las constantes

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { //checks if its lower than Honeycomb 
    ActionBar actionBar = getActionBar(); 
    actionBar.hide(); 
} 
+0

Gracias ... ¿pero cómo verificaría la versión de Android? – user836026

+1

Editado la respuesta. – Tonithy

+4

Supongo que debe ser mayor o igual que ("> =") símbolo en lugar de menos que (<) símbolo ... y gracias me ayudó :) – Zombie

Cuestiones relacionadas