Sunteți pe pagina 1din 7

Prctica: Creacin de la aplicacin Asteroides.

1. Crea un nuevo proyecto con los siguientes datos:

Application Name: Asteroides


Project Name: Asteroides
Package Name: org.example.asteroides
Minimun Requiered SDK: API 7: Android 2.1 (Eclair)
Target SDK: API 17: Android 4.2
Compile With: API 17: Android 4.2
Activity Name: Localizacion
Layout Name: main
NOTA: Los dos ltimos parmetros se introducen en la ltima ventana.

2. Abre el fichero res/Layout/main.xml y trata de crear una vista similar a la que ves a
continuacin. Ha de estar formada por un LinearLayout que contiene un TexView y
cuatro Button. Trata de utilizar recursos para introducir los cinco textos que aparecen.

Solucin:
1. El fichero main.xml ha de ser similar al siguiente:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:padding="30dip"

tools:context=".Asteroides" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/tituloAplicacion"
android:gravity="center"
android:textSize="25sp "
android:layout_marginBottom="20dip"/>
<Button android:id="@+id/Button01"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="@string/Arrancar"/>
<Button android:id="@+id/Button02"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="@string/Configurar"/>
<Button android:id="@+id/Button03"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="@string/Acercade"/>
<Button android:id="@+id/Button04"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="@string/Salir"/>
</LinearLayout>
2. El fichero res/values/strings.xml ha de tener el siguiente contenido:
<resources>
<string name="Arrancar">Jugar</string>
<string name="Configurar">Configurar</string>
<string name="Acercade">Acerca de </string>
<string name="Salir">Salir</string>
<string name="tituloAplicacion">Asteroides</string>
<string name="hello">Hello World, Asteroides! </string>
<string name="app_name">Asteroides</string>
</resources>

Recursos alternativos
Una aplicacin Android va a poder ser ejecutada en una gran variedad de dispositivos. El
tamao de pantalla, la resolucin o el tipo de entradas puede variar mucho de un
dispositivo a otro. Por otra parte, nuestra aplicacin ha de estar preparada para diferentes
modos de funcionamiento, como el modo automvil o el modo noche, y para poder
ejecutarse en diferentes idiomas.
A la hora de crear el interfaz de usuario hemos de tener en cuenta todas estas
circunstancias. Afortunadamente la plataforma Android nos proporciona una herramienta
de gran potencia para resolver este problema, el uso de los recursos alternativos.

Prctica: Recursos alternativos en Asteroides


1. Ejecuta la aplicacin creada en el punto anterior en el emulador.

2. Los telfonos mviles basados en Android permiten cambiar la configuracin en


apaisado y en vertical. Para conseguir este efecto con el emulador pulsa Ctrl+F11.
Si observas el resultado de la vista que acabas de disear en vertical no queda todo
lo bien que desearamos.

Para resolver este problema Android te permite disear una vista diferente para la
configuracin horizontal y otra para vertical.
3. Crea la carpeta res/layout-land.
4. Copia en ella el fichero main.xml.Para ello selecciona el fichero y pulsa Ctrl-C.
Selecciona la carpeta destino y pulsa Ctrl-V.
5. Crea una vista similar a la que ves a continuacin: formada por un LinearLayout
que contiene un TexView y un TableLayout con dos Button por columna.

6. Ejecuta de nuevo la aplicacin y observa como la vista se ve correctamente en


las dos orientaciones.

Solucin:
Has de obtener un cdigo XML similar al siguiente:

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/andr
oid"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:padding="30dip"
tools:context="Asteroides" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/tituloAplicacion"
android:gravity="center"
android:textSize="25sp"
android:layout_marginBottom="20dip"/>
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:stretchColumns="*">
<TableRow>
<Button android:id="@+id/Button01"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="@string/Arrancar"/>
<Button android:id="@+id/Button02"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="@string/Configurar"/>
</TableRow>
<TableRow>
<Button android:id="@+id/Button03"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="@string/Acercade"/>
<Button android:id="@+id/Button04"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="@string/Salir"/>
</TableRow>
</TableLayout>
</LinearLayout>
NOTA: Para conseguir en un TableLayout, que las columnas se ajusten a todo el ancho de la tabla poner
stretchColumns="*". stretchColumns="0"significa que asigne el ancho sobrante a la primera columna.

stretchColumns="1"significa que asigne el ancho sobrante a la segunda columna.


stretchColumns="*"significa que asigne el ancho sobrante entre todas las columnas.

Android utiliza una lista de sufijos para expresar recursos alternativos. Estos sufijos
pueden hacer referencia a la orientacin del dispositivo, al lenguaje, la regin, la densidad
de pxeles, la resolucin, el mtodo de entrada,
Por ejemplo, si queremos traducir nuestra aplicacin al ingls, espaol y francs. Siendo el
primer idioma el usado por defecto, crearamos tres versiones del fichero strings.xml y lo
guardaramos en los siguientes tres directorios:
res/values/strings.xml
res/values-es/strings.xml
res/values-fr/strings.xml

Ejercicio paso a paso: Traduccin de Asteroides


1. Crea la carpeta res/values-en.
2. Copia en ella el fichero strings.xml.
3. Traduce en este fichero todas las cadenas al ingls.
4. Ejecuta la aplicacin en el emulador y verifica que la aplicacin est en ingls.
5. Vamos a cambiar la configuracin de idioma del emulador. Para ello, accede a
Ajustes del dispositivo (Settings) y selecciona la opcin Idioma e introduccin. Dentro
de esta opcin selecciona como idioma Espaol. NOTA:Observa que en otros idiomas
permite seleccionar tanto el idioma como la regin. Por desgracia, para el espaol
solo permite dos regiones Espaa y Estados Unidos.
6. Ejecuta de nuevo la aplicacin y observa cmo ha traducido el texto.
Otro ejemplo de utilizacin de recursos diferenciados lo podemos ver al crear una
aplicacin con Eclipse a partir de la versin 1.6 de Android. En este caso no crear
una nica carpeta drawable para almacenar el icono de la aplicacin, sino cuatro
segn la densidad de pxeles del dispositivo:
res/drawable-hdpi/ic_launcher.png
res/drawable-mdpi/ic_launcher.png
res/drawable-ldpi/ic_launcher.png
res/drawable-xhdpi/ic_launcher.png
Resulta posible indicar varios sufijos concatenados; por ejemplo:
res/values-en-rUS/strings.xml
res/values-en-rUK/strings.xml
Pero cuidado, Android establece un orden a la hora de encadenar sufijos. Puedes
encontrar una lista de estos sufijos en la documentacin del SDK:
http://developer.android.com/guide/topics/resources/providing-resources.html
Para ver los sufijos disponibles tambin puedes pulsar con el botn derecho sobre
una carpeta de recursos y seleccionar New > Other > Android > Android XML File.
Esta opcin te permite crear un nuevo fichero XML y poner el sufijo deseado de
forma y orden correcto.

Uso de recursos alternativos en Android

Prctica: Creando un Layout para tabletas en Asteroides


Si ejecutas la aplicacin Asteroides en una tableta observars que el tamao de los
botones es demasiado grande.
1. Trata de hacer un Layout alternativo a main.xml, que sea utilizado en pantallas
de tamao xlarge(7-10,5 pulgadas).
2. Si lo deseas tambin puedes personalizar el fondo de la pantalla (atributo
background), los tipos de letras, colores
3. Verifica que la aplicacin se visualiza correctamente en todos los tipos de
pantalla, tanto en horizontal como en vertical.

TEST
Qu sufijo para recursos alternativos utilizaras para hacer un Layout especfico para tabletas?

port
land
normal
xlarge
xhdpi

Cmo se selecciona el recursos alternativos que ha de cargarse?

Segn los nombres de las carpetas donde se han almacenado


Segn la definicin realizada en AndroidManifest.xml
Segn el sufijo indicado en el nombre del recurso
Segn el prefijo indicado en el nombre del recurso

Deseas crear un recurso que dependa de que ocurran varias condiciones. Por ejemplo en (idioma
ingls) y rUS (regin EEUU) Cmo determinaras el orden de los sufijos (en-rUS o rUS-en)?

El orden de los sufijos es indiferente, las dos opciones funcionaran.


Ira al men Archivo/Nuevo/Fichero XML Android y seleccionara las dos
condiciones. El sistema erigir el nombre del archivo adecuado
No est permitido indicar dos condiciones

S-ar putea să vă placă și