miércoles, 17 de abril de 2013

Action Bar (Añadir, Eliminar...)


Añadir la barra de acción

La barra de acción se incluye por defecto en todas las actividades cuya version sea Android 3.0 o superior. Más especificamente, todas las actividades que utilizan el nuevo tema "holográfico" incluyen la barra de acción, y cualquier aplicación que tiene como objetivo Android 3.0 recibe automáticamente este tema. Se considera que una aplicación tiene como "objetivo" Android 3.0 cuando se ha seteado bien el atributo android:minSdkVersion o bien el atributoandroid:targetSdkVersion en el elemento <uses-sdk> del archivo Manifest a "11" o mayor que 11. Por ejemplo:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example.helloworld"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="4"
              android:targetSdkVersion="11" />
    <application ... >
        ...
    </application>
</manifest>
En este ejemplo, la aplicación necesita una versión mínima de nivel API 4 (Android 1.6), pero también tiene como objetivo API nivel 11 (Android 3.0). De esta manera, cuando se instala la aplicación en un dispositivo con Android 3.0 o superior, el sistema aplica el tema holográfico a cada actividad, y por tanto, cada actividad incluye la barra de acción.
Sin embargo, si se quiere utilizar los APIs de la barra de acción, como añadir pestañas o modificar los estilos de la barra de acción, hay que setear el android:minSdkVersion a "11", para poder acceder a la clase ActionBar.
Existe la posibilidad de utilizar Action Bar para SDKs cuya versión sea menor a 11, aunque para ello se debera usar la biblioteca Sherlook, aunque no trataremos este tema aqui.

Eliminar la barra de acción

Si se quiere eliminar la barra de acción para una actividad en concreto, hay que crear un temática personalizada que extienda de Theme.Holo, y dentro de esta temática, setear la propiedad estilo android:windowActionBar a"false". Por ejemplo:
<style name="MyTheme" parent="android:Theme.Holo.Light">
    <item name="android:windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
</style>
Si usted no desea que la barra de acción para una actividad en particular, establecer el tema de la actividad de Theme.Holo.NoActionBar en el Manifest es otra opcion. Por ejemplo:
<activity android:theme="@android:style/Theme.Holo.NoActionBar">


Ver Estilismo de la barra de acción para más información sobre los estilos de la barra de acción.
Nota: Si se elimina la barra de acción utilizando una temática, la ventana no permitirá la barra de acción en ningún caso, por lo que no se puede añadir en tiempo de ejecución—si se llama al método getActionBar() devolverá null.

Ocultar la barra de acción


También se puede ocultar la barra de acción en tiempo de ejecución llamando al método hide(), y volverlo a mostrar llamando al método show(). Por ejemplo:
ActionBar actionBar = getActionBar();
actionBar.hide();
Cuando la barra de acción se oculta, el sistema ajusta el contenido de la actividad para rellenar todo el espacio disponible de la pantalla.

1 comentario:

  1. muy buenos tuto mil gracias me sirvio de mucho y la pagina tambien :3 mil gracias

    ResponderEliminar