2011-05-06 13 views
6

Estoy trabajando con XOOM y tratando de ocultar la barra de acciones. Así que siga las instrucciones hizo la siguiente en el archivo de manifiesto:Android (3.0) Action Bar no quiere ir

uses-sdk android:minSdkVersion="11" android:targetSdkVersion="11"

también establecer el tema actividad.

android:theme="@android:style/Theme.Holo.NoActionBar"

Por desgracia, todavía se puede ver la barra de acción. por lo quito la parte de acción holograma de mi manifiesto y añade lo siguiente código

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

conseguir excepción de puntero nulo método de ocultar() de. entonces entiendo que getActionBar() devuelve nulo. Ahora tengo curiosidad de lo que me estoy perdiendo?

Respuesta

19

Theme.Holo.NoActionBar no es pública en el armazón y su lugar, puede declarar su propio estilo como esto:

<style name="MyTheme" parent="@android:style/Theme.Holo.Light"> 
     <item name="android:windowActionBar">false</item> 
     <item name="android:windowNoTitle">true</item> 
</style> 
+0

estoy tratando de poner en práctica este método para barra de acción de supresión, pero me sale un error cuando intento establecer el elemento principal en android: Theme.Holo.Light. También probé @android: Theme.Holo.Light. Por favor ayuda, he estado golpeando mi cabeza contra mi teclado tratando de resolver esto. – aamiri

+0

¿Qué error estás recibiendo? ¿Y en qué versiones de plataforma te estás metiendo? ¿Con qué dispositivos estás probando? –

+0

No he llegado al punto de prueba, solo estoy tratando de compilar. Mi requisito minSDK en el manifiesto es api nivel 8, pero mi api objetivo es 11. En realidad, recibo 2 errores: error: "Error al recuperar el elemento principal: no se encontraron recursos que coincidan con el nombre " android: Tema .Holo.Light '. " y "Error: no se encontraron recursos que coincidan con el nombre de pila: attr 'android: windowActionBar'." – aamiri

-9

La barra de acciones en Honeycomb no se puede ocultar porque no hay botones físicos para salir de la aplicación, por lo que podría atrapar a los usuarios en la aplicación si la barra de acciones está oculta. Lo mejor que puede hacer es colocar la barra en el modo de "luces apagadas", donde obtiene los puntos pequeños en lugar de los iconos normales en la barra.

ver este enlace: Is there a way to hide the system bar in Android 3.0? It's an internal device and I'm managing navigation

+1

OP se está refiriendo a la barra de acción (corre a lo largo de la parte superior), que está separado de la barra que corre a lo largo de la parte inferior e incluye la espalda/home/etc –

3

puede ocultar la barra de acción (que se mostrará en la parte superior de la pantalla). Si su actividad es la actividad de la ficha a continuación, utilizar la siguiente línea después de la línea setContentView

getParent().getActionBar().hide(); 

Si se trata de una actividad normal luego usar

getActionBar().hide(); 

Y la creación de manifiesto es que también trabaja para mí, pero sólo a la actividad particular que puede establecer de esta manera no a la aplicación.

android:theme="@android:style/Theme.Holo.NoActionBar" 
7

que llegó exactamente a la misma conclusión. Si no puede mostrar el ActionBar en la pantalla, es probable que:

  • window no tiene título; ActionBar es esencialmente una barra de título glorificada, por lo tanto no title = no ActionBar, aunque esto no se menciona en los documentos

  • que intentó llamar al método getActionBar() antes de configurar la vista de contenido en la actividad. En este caso, este método devuelve nulo. Una vez más, en ningún lugar se menciona en los documentos, y si intenta construir/modificar el ActionBar como parte del constructor de vista personalizada, no tiene suerte.

más sobre mis exploraciones de la Barra de acciones en nido de abeja can be found on my blog here

2

esto me ayudó .. valores editados/estilos.xml como esto

<resources> 

<style name="AppTheme" parent="android:Theme.Holo.Light.NoActionBar" /> 

</resources> 
Cuestiones relacionadas