Mostrando entradas con la etiqueta Action Bar. Mostrar todas las entradas
Mostrando entradas con la etiqueta Action Bar. Mostrar todas las entradas

sábado, 27 de abril de 2013

Como utilizar elementos de Android ICS en Froyo: Android Support


Como utilizar elementos de Android ICS en Froyo: Android Support

Con la llegada de Honeycomb vino la ActionBar y otras muchas novedades para los desarrolladores de Android. Estos elementos en un primer momento fueron exclusivos para los usuarios de tablets, pero con la llegada de Ice Cream Sandwich y su compatibilidad en teléfonos móviles, todas estas novedades se expandieron en todo tipo de dispositivo Android.


Aún así el problema que tenemos hoy en día es que la inmensa mayoría de dispositivos Android están con versiones 2.x, sin ir más lejos yo aún tengo un HTC Desire con la 2.2 y que para mí cumple a las mil maravillas todas sus funciones. Por eso muchos de nosotros a la hora de empezar un proyecto tenemos que decidir si incluir las nuevas funcionalidades que nos brinda ICS o optar por llegar a cuantos más usuarios mejor y optar por desarrollar una versión para dispositivos a partir de Android 2.x.

Ese problema se ha acabado. Google ha lanzado una librería que nos da soporte para poder utilizar las características de ICS en dispositivos con Android 2.x. La librería en cuestión se llama Android Support y para instalarla no teneis más que ir a vuestro Android SDK Manager. Podéis hacerlo desde Eclipse en Window > Android SDK Manager. Ahí debéis buscar en la sección extras, Android Support, lo seleccionais y actualizais.



Una vez actualizado, incluirlo en vuestro proyecto es muy fácil, simplemente botón derecho sobre el proyecto y en Android Tools seleccionais Add Support Library. Esto incluirá la librería .jar que hará que sea posible utilizar la actionbar, fragments, loaders y más cosas.

En este proceso si vuestro proyecto está configurado para una versión de Android 2.x debéis cambiarlo. Para ello, botón derecho sobre el proyecto, properties y en la pestaña Android seleccionáis la versión de Android 4.x.



En el archivo AndroidManifest.xml debeis configurar la línea donde indicamos la versión de Android necesaria así:

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" />

Aquí le digo que la versión mínima es la 8 (Android 2.2) pero está dirigida a la 15 (Android 4).

Hasta aquí esto es lo que Google nos da oficialmente. Pero hay mucha gente contribuyendo para hacernos la vida más fácil, y ese es el caso de la Sherlock Action Bar, http://actionbarsherlock.com/. Es una librería que nos ayudará en el proceso de crear aplicaciones más fácilmente y con un aspecto muy bonito. Os recomiendo que os descargueis las aplicaciones con todos los ejemplos para que podáis ver más facilmente lo que se puede hacer.

lunes, 22 de abril de 2013

Fixed Tabs y Scrollable Tabs (Crear una view que se mantenga para todas las pestañas)

Para explicar esto nos vamos a ayudar de un ejemplo.

En nuestro caso queremos realizar un TPV (Terminal de Punto de Venta) en android, para ello usaremos Scrollable Tabs de forma que en cada tab sea una categoría de productos y de esa forma se muestren todos los productos de dicha categoría.

Al final de todas las Tabs tendremos la información del Total de la cuenta (lo que deberíamos cobrar).

En este punto es donde nos encontramos el problema, ya que si declaramos ese view en todas las pestaña vemos que al pasar de una a otra sucede lo que vemos en la siguiente imagen

viernes, 19 de abril de 2013

Action Bar (Scrollable Tabs)

Lo primero que debemos aclarar es que los Scrollable Tabs no son un elemento del Actión Bar como son las Fixed Tabs, pero debido a su similitud las incluimos dentro de la seccion Action Bar.

Las Scrollable Tabs son muy utiles debido a que pueden contener un mayor número de Tabs que las Tabs tipicas. Para acceder a la tab anterior / siguiente basta con deslizare el dedo hacia la izquierda o derecha sobre la pantalla.

Para crear estas Tabs empezaremos ayudandonos de Ecipse, para ello debemos crear una nueva actividad.

miércoles, 17 de abril de 2013

Action Bar (Crear Botones de Accion)


Añadir botones de acción

Un item de acción es simplemente un item de menú del menú de opciones que debería aparecer en la barra de acción. Un item de acción puede incluir un icono y/o texto. Si un item de menú no aparece como un item de acción , el sistema lo coloca en un overflow menu, que el usuario puede abrir con el icono del menú en la parte derecha de la barra de acción.

Figura 2. Pantallazo de una barra de acción con dos items de acción y el overflow menu.
Cuando la actividad se inicia, el sistema rellena la barra de acción y el overflow menu llamando al método onCreateOptionsMenu(). Tal y como se detalla en la sección Crear menús, es en este método callback donde se define el menú de opciones para la actividad.
Se puede hacer que item del menú aparezca como un item de acción—si existe lugar para él—desde el recurso de menú mediante la declaración del android:showAsAction="ifRoom" para el elemento <item>. De esta manera, el item del menú aparece como acceso directo en la barra de acción sólo si existe lugar para ello. Si no hay suficiente lugar, el item se coloca en el overflow menu (mostrado por el icon del menú en la parte derecha de la barra de acción).
También se puede declarar un item del menú para que aparezca como un item de acción en el código de la aplicación, llamando al método setShowAsAction() en el MenuItem y pasándole SHOW_AS_ACTION_IF_ROOM.
Si el item del menú tiene un título y un icono, el item de acción, por defecto sólo muestra el icono. Si se quiere incluir el texto con el item de acción, hay que añadir el flag "with text": en el XML, añadir withText al atributo android:showAsAction o, utilizar en el código de la aplicación el flag SHOW_AS_ACTION_WITH_TEXT cuando se llama al método setShowAsAction(). La figura 2 muestra una barra de acción que tiene dos items de acción con su texto y el icono para el overflow menu.

Action Bar (Eliminar titulo de Actividad)

Para eliminar el nombre de la actividad de la Action Bar solo es necesario editar en el Manifest la propiedad android:label y darle el valor "".

Esto funciona para todas las actividades salvo para la especificada como Main.

Un ejemplo del código es el siguiente:
<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.splashlogin.Splash"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/app_name"
            android:screenOrientation="landscape"
            android:theme="@style/FullscreenTheme" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.example.splashlogin.Login"
            android:label="" 
            android:screenOrientation="landscape">
        </activity>
    </application>

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.

Action Bar


La action bar identifica la aplicación y la ubicación del usuario y proporciona acciones a los usuarios. Se debe utilizar la action bar en la mayoría de las actividades que deben presentar de forma destacada las acciones del usuario o la navegación global, debido a que la barra de acción ofrece a los usuarios una interfaz coherente entre las aplicaciones y el sistema se adapta con elegancia el aspecto de la barra de acción para diferentes configuraciones de pantalla. Se puede controlar el comportamiento y la visibilidad de la action bar con el API ActionBar , que se añadio en Android 3.0 (nivel de API 11).
Los objetivos principales de la action bar son los siguientes:
  • Proporcionar un espacio dedicado a la identificación de la marca aplicación y ubicación del usuario.
    Esto se logra con el icono de la aplicación o logo en el lado izquierdo y el título de la actividad. Usted puede optar por retirar el título de la actividad, sin embargo, la vista actual se identifica por una etiqueta de navegación, tal como la ficha seleccionada actualmente.
  • Proporcionar navegación consistente y ver refinamiento a través de diferentes aplicaciones.
    La barra de acción proporciona una función de navegación por pestañas para cambiar entre fragmentos. También ofrece una lista desplegable se puede utilizar como un modo de navegación alternativo o para afinar la vista actual (por ejemplo, para ordenar una lista por diferentes criterios).
  • Realiza acciones clave para la actividad (por ejemplo, "buscar", "crear", "compartir", etc) destacados y accesible para el usuario de una manera predecible.
    Puede proporcionar acceso instantáneo a las acciones del usuario mediante la colocación de los elementos clave del menú de opciones situado en la barra de acción, como "puntos de acción". Los elementos del menú que no sean promovidos a un elemento de acción están disponibles en el menú de desbordamiento.