Estilos en Android

Cuando los desarrolladores crean aplicaciones Android, pueden implementar diseños de interfaz de usuario usando propiedades de estilo. Los archivos de diseño pueden aplicar estos estilos a cada Activity (pantalla) del programa. Las definiciones de diseño usan código XML. Para reutilizar propiedades visuales, los desarrolladores pueden crear estilos dentro de cada app. Definiendo un conjunto de estilos en XML, pueden referenciar sus propiedades en múltiples áreas sin repetir código.

Definición

Los estilos de una app Android aparecen en un archivo XML en el directorio del paquete. El desarrollador puede crear un archivo XML con el nombre que elija, con extensión ".xml", guardándolo en la carpeta "res/values". Dentro, puede definir uno o más conjuntos de propiedades de estilo, dando a cada uno un nombre:

<resources>
  <style name="MainStyle">
  </style>
</resources>

Dentro del elemento resources, se pueden colocar múltiples secciones style. Las propiedades de estilo se colocan entre las etiquetas de apertura y cierre de cada sección.

Propiedades

Los estilos Android pueden involucrar múltiples propiedades visuales: fuentes, dimensiones y colores. Por ejemplo, el siguiente código define dimensiones para un estilo:

<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">fill_parent</item>

Esto especifica que el elemento debe expandirse para llenar el área del elemento padre. Para que ocupe solo el espacio requerido por su contenido:

<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>

Otras propiedades incluyen colores de texto y fondo, relleno (padding), márgenes, fuente y tamaño de texto.

Diseño (Layout)

Para usar estilos definidos, los desarrolladores los referencian en el XML de diseño de sus Activities. Los archivos de diseño están en la carpeta "res", dentro del directorio "layout". El siguiente código de ejemplo en un archivo XML de diseño referencia el estilo definido en "res/values":

style="@style/MainStyle"

Este código puede aparecer dentro de cualquier sección de diseño para un elemento View. Las Views pueden incluir pantallas completas de Activity o elementos individuales como controles de UI. Referenciando el estilo así, el desarrollador importa sus propiedades, reduciendo la repetición de código.

Herencia

Los estilos pueden heredar propiedades de otros estilos, reduciendo aún más el código. Dentro de la etiqueta style, el siguiente código indica un estilo del que heredar:

parent="@android:style/TextAppearance"

Esto instruye a la app a importar estilos del padre especificado. Los desarrolladores pueden referenciar sus propios estilos así:

<style name="MainStyle.Note">

Esto permite reutilizar sus propias definiciones de estilo, enfocándose en los aspectos únicos de cada estilo individual.