viernes, 22 de abril de 2016

Chess y Menu - (Parte III) ¿Como agregar opciones al Toolbar? Settings, etc

¿Como agregar la sección de settings a nuestra aplicación Android? Supongamos que queremos que el usuario en la sección de settings quisiera elegir el idioma de la aplicación.

¿Como podríamos agregarlo?

En el post anterior vimos como siguiendo el wizard Navigation Drawer de Android teníamos una aplicación con un menú y una sección de settings vacía.

En este post vamos a ocuparnos de agregar comportamiento en la sección de settings, para que ahí el usuario cambie las preferencias de idioma de la aplicación.




Comencemos

Cuando seguimos el wizard Navigation Drawer de Android, tenemos a nuestra disposición el Toolbar con algunas opciones vacías que podemos comenzar a configurar en el archivo menu.xml


Mostremos en mas detalle la Toolbar, y sus componentes:


Con el "Menú Overflow" desplegado:



Y veamos la sección del "Menú Overflow" con items para hacer algunos comentarios:



Items en Toolbar: propiedad showAsAction

El primero es sobre la propiedad showAsAction, que indicará si el item se mostrará solo en el "Menú Overflow" o también en la sección de "Botones/Acciones" del Toolbar.





Veamos un ejemplo, para lo cual le agregaremos iconos a la Toolbar, tomados de la guía de material design de Google, para info y para settings:


Vamos a agregar la propiedad "ifRoom" y mostrar el resultado:



Que se agregará el item al Toolbar "si hay lugar" ... o sea "ifRoom", que en este caso es posible:


Otros posibles valores de son showAsAction:
  • ifRoom: Se mostrará como botón de acción sólo si hay espacio disponible.
  • withText: El texto del item se mostrará junto al icono si esta dentro del area de Botones/Acción
  • never: El item siempre se mostrará como parte del menú de overflow.
  • always: Siempre se mostrará como botón de acción sólo si hay espacio disponible...







En el siguiente post, veremos como agregar las Preferences utilizando PreferenceScreen








0 comentarios:

Publicar un comentario