PDF de programación - Contemplar la Interfaz del Usuario

Imágen de pdf Contemplar la Interfaz del Usuario

Contemplar la Interfaz del Usuariográfica de visualizaciones

Publicado el 29 de Junio del 2018
269 visualizaciones desde el 29 de Junio del 2018. Una media de 21 por semana
649,7 KB
20 paginas
Creado hace 137d (07/06/2018)
Introducción
La presentación de la interfaz de usuario nos ha permitido abordar los temas generales y descubrir
los widgets. No obstante, la interfaz de usuario de una aplicación no se limita a esto. Existen otros
elementos que complementan a
los ya expuestos anteriormente y que aportan nuevas
funcionalidades a las aplicaciones.

En este capítulo, descubriremos cómo utilizar los nuevos estilos y temas incluidos en Android 3.0,
cómo crear un menú o una barra de acción según el sistema utilizado y veremos los distintos métodos
para notificar al usuario. Por último, terminaremos describiendo cómo programar una aplicación
multiidioma.

Estilos y temas
De forma similar a las hojas de estilo CSS (Cascading Style Sheets) usadas en las páginas Web, los
estilos en Android permite separar las propiedades de diseño de una vista de su contenido. Esta
separación permite tener un código más claro para las vistas, una reutilización de estilos y facilita
enormemente la construcción de interfaces homogéneas.
Un estilo es un recurso definido en un archivo XML de la carpeta res/values. Es habitual reagrupar
todos los estilos en un único archivo llamado styles.xml. Los estilos se definen utilizando
laetiqueta style. Ésta permite darle nombre al estilo y, eventualmente, especificar el estilo padre de
propiedades, del que hereda. A continuación se definen los distintos elementos que componen el
estilo utilizando etiquetas item.
Los estilos se aplican únicamente sobre una vista individual utilizando el atributo style de la
etiqueta vista. El valor de este atributo designa el estilo deseado.

Por ello si queremos aplicar un estilo a toda la aplicación, resulta algo molesto asignar el estilo a
todas las vistas de la aplicación. Para evitar tener que hacer esta manipulación, Android permite usar
temas.

Los temas no son más que estilos aplicados a actividades o a la aplicación entera.
Si una aplicación no define su propio tema utilizando el atributo android:theme en su
etiquetaapplication del manifiesto, utiliza en ese caso el tema del sistema Android sobre el que
se ejecute.

Un nuevo tema gráfico, llamado holográfico (o de forma abreviada holo), ha hecho aparición con
Android 3.0 (API 11). Éste introduce en concreto un nuevo elemento de la interfaz: una barra de
acción (véase la sección Barra de acción).

Cualquier aplicación que quiera utilizar el nuevo tema holográfico cuando se ejecute sobre un sistema
con versión 3.0 o superior debe especificar un nivel de API igual o superior a 11 en el
atributoandroid:targetSdkVersion de la etiqueta uses-sdk del manifiesto.

Esto sólo es necesario en el caso de una aplicación hecha para sistemas Android 3.0 o
superiores, es decir cuando el valor de android:minSdkVersion es igual o superior a 11.

De este modo, si la aplicación se ejecuta sobre un sistema Android de versión inferior a 3.0 (API 11),
utilizará el tema del sistema de esta versión. Y si la aplicación se ejecuta sobre un sistema 3.0 (API
11) o superior, utilizará el nuevo tema holográfico.

Recuerde, las API que puede utilizar una aplicación son aquellas que existen en la versión
especificada por el atributo android:minSdkVersion. De ello se desprende que si el valor
del atributo android:minSdkVersion es inferior a 11, entonces la aplicación no podrá utilizar
los nuevos elementos tales como la barra de acción dado que en estas versiones no existen las
clases correspondientes a estos elementos.

Menús
Elementos importantes de la interfaz de usuario, en Android hay disponibles dos tipos de menús: los
menús de actividad y los menús contextuales. Su declaración se realiza de forma idéntica.

1. Declaración

Recuerde, daremos prioridad aquí al método declarativo si bien es posible crear o modificar los menús
directamente desde el código Java.
La primera etapa consiste en crear un archivo de formato XML en la carpeta res/menu del proyecto
e incluir en él la etiqueta menu.
Sintaxis

<menu xmlns:android="http://schemas.android.com/apk/res/android">
...
</menu>

Ejemplo

<xml version="1.0" encoding="utf-8">
<menu xmlns:android="http://schemas.android.com/apk/res/android">
</menu>

Las opciones del menú - o entradas - se agregan, a continuación, una a una utilizando la
etiquetaitem. Sus atributos permiten parametrizar la opción. He aquí las principales:

Propiedad

android:id
android:title
android:icon
android:onClick

android:showAsAction

android:checked

Descripción

Identificador del elemento.

Título de la opción a mostrar.

Imagen con el icono asociado a la opción.

Nombre del método de la actividad a ejecutar
cuando el usuario hace clic en la vista. Existe desde
Android 3.0 (API 11).

Permite especificar si esta opción debe figurar en la
barra de acción y de qué forma. Existe desde
Android 3.0 (API 11).

Permite preseleccionar la opción cuando forma
parte de un grupo de opciones a marcar o de
botones radio.

Sintaxis

<item android:id="@[+][paquete:]id/nombre_recurso"
android:icon="recurso_gráfico"
android:title="recurso_texto"
android:onClick="nombre_método"
android:showAsAction="[always|ifRoom|never][|][withText]"
android:checked="booleano"
...
/>

Ejemplo

<xml version="1.0" encoding="utf-8">
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menú_principal_opción1"
android:icon="@drawable/menú_principal_opción1"
android:title="@string/menú_principal_opción1"
android:onClick="procesamientoOpción1" />
</menu>

Es posible crear un nivel suplementario de submenús. Se trata de menús que se muestran cuando el
usuario ha seleccionado una opción en el primer menú.

Esto permite crear una arborescencia de menús con dos niveles como máximo. No es posible tener
submenús de submenús.

Para crear un submenú, basta con insertar un nuevo menú en un ítem del primer menú utilizando de
nuevo la etiqueta menu. Los ítems del submenú deben informarse dentro de esta nueva
etiquetamenu.

Sintaxis

<item ...>
<menu>
<item ...>
...
</menu>
</item>

Ejemplo

<xml version="1.0" encoding="utf-8">
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menú_principal_opción1"
android:icon="@drawable/menú_principal_opción1"
android:title="@string/menú_principal_opción1">
<menu>
<item android:id="@+id/menú_secundario_opción1"
android:icon="@drawable/menú_secundario_opción1"
android:title="@string/menú_secundario_opción1" />
</menu>
</item>
</menu>

Es posible agrupar parte de las opciones de un menú para aplicarles las mismas propiedades.
También es posible agregar casillas para marcar o botones de radio a todos los elementos de un
menú. Para estos dos casos, las opciones deben estar agrupadas en la misma etiqueta group. Si
fuera necesario, el atributo android:checkableBehavior permite especificar el tipo de
agrupación.

Sintaxis

<group android:id="@[+][paquete:]id/nombre_recurso"
android:checkableBehavior="all|none|single" >
...
</group>

Ejemplo

<xml version="1.0" encoding="utf-8">
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:id="@+id/group"
android:checkableBehavior="single">
<item android:id="@+id/menú_contextual_opción1"

android:icon="@drawable/icon"
android:title="@string/menú_config"
android:checked="true" />
<item android:id="@+id/menú_contextual_opción2"
android:icon="@drawable/icon"
android:title="@string/menú_config" />
</group>
</menu>

2. Uso

La transformación de la descripción del menú desde el formato XML en una instancia del objeto de
tipo Menu se realiza desde la actividad asociada utilizando un objeto de tipo MenuInflater.
Éste es devuelto por el método getMenuInflater de la actividad.
Sintaxis

public MenuInflater getMenuInflater ()

Ejemplo

MenuInflater conversorMenu = getMenuInflater();
El método inflate de este objeto permite leer el archivo de menú XML pasado como parámetro
mediante su identificador y agregar los elementos y submenús al objeto de tipo Menu pasado como
parámetro.

Sintaxis

public void inflate (int menuRes, Menu menu)

Ejemplo

Menu menu = new Menu();
conversorMenu.inflate(R.menu.principal, menu);

3. Menú de actividad

El menú de actividad es un menú que permite escoger en función de la pantalla mostrada
actualmente. Este menú puede contener iconos, pero no puede contener casillas de opción a marcar
ni botones de radio.

Para las aplicaciones que corran sobre una versión inferior a Android 3.0 (API 11), cuando el usuario
presione la tecla Menú de su dispositivo, éste aparecerá. O, más bien, aparecerán los seis primeros
elementos del menú. Si existen más de seis, el sexto elemento se reemplaza por la opción Más. Si el
usuario la selecciona, aparece un nuevo menú con forma de lista y muestra el resto de elementos del
menú, desde el sexto hasta el último.

Este menú de actividad desaparece cuando el usuario selecciona una opción o cuando presiona la
tecla Volver.

Para las aplicaciones que corran sobre una versión de Android 3.0 (API 11) o superior, las opciones
del menú se reagrupan por defecto en el submenú de la barra de acción (véase la sección Barra de
acción) representadas por un icono de menú situado en la parte derecha de la barra de acción. Su
presencia y su apariencia pueden modificarse mediante su atributo android: showAsAction.

a. Creación

Dado que este tipo de menú está asociado a una actividad, debe estar definido por la actividad en
su método onCre
  • Links de descarga
http://lwp-l.com/pdf12221  

Comentarios de: Contemplar la Interfaz del Usuario (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad