 |
Vídeo[tutorial]: Tipos de recursos en Android |
2.7.2. Acceso a los recursos
Una vez definido un recurso, este puede ser utilizado desde un fichero XML o desde Java. A continuación se muestra un ejemplo desde XML:
Para acceder a un recurso definido en los ejemplos anteriores desde Java, usaremos el siguiente código:
2.7.3. Recursos del sistema
Además de los recursos que podamos añadir a nuestra aplicación, también podemos utilizar una serie de recursos que han sido incluidos en el sistema.
 |
Vídeo[tutorial]: Recursos del sistema en Android |
Usar recursos del sistema tiene muchas ventajas. No consumen memoria en nuestra aplicación, al estar ya incorporados al sistema. Además, los usuarios están familiarizados con ellos. Por ejemplo, si utilizamos el recurso android.R.drawable.ic_menu_edit, se mostrará al usuario el icono:
. Muy posiblemente, el usuario ya está familiarizado con este icono y lo asocia a la acción de editar. Otra ventaja es que los recursos del sistema se adaptan a las diferentes versiones de Android. Si se utiliza el tema android.R.style.Theme_Panel, este es bastante diferente en cada una de las versiones, pero seguro que estará en consonancia con el resto de estilos para esta versión. Lo mismo ocurre con el icono anterior. Este icono es diferente en algunas versiones, pero al usar un recurso del sistema nos aseguramos de que se mostrará el adecuado a la versión del usuario. Finalmente, estos recursos se adaptan siempre a las configuraciones locales. Si yo utilizo el recurso android.R.string.cancel, este será “Cancelar”, “Cancel”, “
”, etc., según el idioma escogido por el usuario.
 |
Obtener una lista con los recursos del sistema disponible no es sencillo. Te recomendamos que instales la aplicación Android.R en cualquier dispositivo para explorar los recursos del sistema. |
Para acceder a los recursos del sistema desde código, usaremos la clase android.R. Se utiliza la misma estructura jerárquica de clases. Por ejemplo, android.R.drawable.ic_menu_edit. Para acceder desde XML, utiliza la sintaxis habitual pero comenzando con @android:. Por ejemplo, @android:drawable/ic_menu_edit.
Si tienes experiencia con el diseño de páginas web, habrás advertido grandes similitudes entre HTML y el diseño de layouts. En los dos casos se utiliza un lenguaje de marcado y se trata de crear diseños independientes del tamaño de la pantalla donde se visualizarán. En el diseño web resultan clave las hojas de estilo en cascada (CSS), que permiten crear un patrón de diseño y aplicarlo a varias páginas. Cuando diseñes los layouts de tu aplicación, vas a poder utilizar unas herramientas similares conocidas como estilos y temas. Te permitirán crear patrones de estilo que podrán ser utilizados en cualquier parte de la aplicación. Estas herramientas te ahorrarán mucho trabajo y te permitirán conseguir un diseño homogéneo en toda tu aplicación.
 |
Vídeo[tutorial]: Estilos y temas en Android |
Un estilo es una colección de propiedades que definen el formato y la apariencia que tendrá una vista. Podemos especificar cosas como tamaño, márgenes, color, fuentes, etc. Un estilo se define en ficheros XML, diferente del fichero XML Layout que lo utiliza.
Veamos un ejemplo. El siguiente código:
Es equivalente a escribir:
Habiendo creado en el fichero res/values/styles.xml con el siguiente código:
Observa como un estilo puede heredar todas las propiedades de un padre (parámetro parent) y a partir de estas propiedades realizar modificaciones.
Heredar de un estilo propio
Si vas a heredar de un estilo definido por ti, no es necesario utilizar el atributo parent. Por el contrario, puedes utilizar el mismo nombre de un estilo ya creado y completar el nombre con un punto más un sufijo. Por ejemplo:
Crearía un nuevo estilo que sería igual a MiEstilo más la nueva propiedad indicada. A su vez, puedes definir otro estilo a partir de este:
 |
Práctica: Creando un estilo en Asteroides |
1.Abre el proyecto Asteroides.
2.Crea un nuevo estilo y llámalo TextoAsteroides.
3.Aplícalo al título que aparece en el layout activity_main.xml.
4.Crea un nuevo estilo y llámalo TextoAsteroides.Botones. Este ha de modificar alguno de los atributos anteriores y añadir otros, como padding.
5.Aplícalo a todos los botones del layout.
6.Visualiza el resultado.
Un tema es un estilo aplicado a toda una actividad o aplicación, en lugar de a una vista individual. Cada elemento del estilo solo se aplicará a aquellos elementos donde sea posible. Por ejemplo, CodeFont solo afectará al texto.
Para aplicar un tema a toda una aplicación, edita el fichero AndroidManifest.xml y añade el parámetro android:theme en la etiqueta :
También puedes aplicar un tema a una actividad en concreto:
Además de crear tus propios temas, vas a poder utilizar algunos disponibles en el sistema. Puedes encontrar una lista de todos los estilos y temas disponibles en Android en: http://developer.android.com/reference/android/R.style.html
Читать дальше