El gran libro de programación avanzada con Android. José Enrique Amaro Soriano
Чтение книги онлайн.
Читать онлайн книгу El gran libro de programación avanzada con Android - José Enrique Amaro Soriano страница 4
Cómo localizar el fichero correspondiente a un ejemplo específico
Cada uno de los más de ochenta ejemplos de este libro contiene una actividad principal de la que se infiere el nombre del proyecto, y de ahí el nombre del fichero ZIP. Por ejemplo, si una actividad se llama Acelerometro o AcelerometroActivity, el archivo con el proyecto se llamará seguramente Aceleromero.zip, o un nombre parecido. Alternativamente, podemos leer el nombre del proyecto en las capturas de pantalla de los ejemplos, puesto que la barra superior de la ventana contiene el título de la actividad.
Acerca de los acentos
Los nombres de las variables y clases de Java, actividades y ficheros de recursos no pueden contener acentos ni otros caracteres como la letra ñ. Aunque hemos procurado escribir correctamente las tildes en las palabras en castellano en el texto, esto no es posible cuando se refieren a nombres de variables o ficheros. Tampoco se recomienda usar acentos en los nombres que designan a las columnas o tablas de una base de datos. El lector queda advertido de que, cuando encuentre una palabra castellana escrita incorrectamente sin tilde, ésta se refiere seguramente a uno de estos casos. De la misma manera, seguimos la norma de no utilizar acentos en los nombres de los proyectos.
Agradecimientos
Quisiera expresar mi agradecimiento, en primer lugar, a Jeroni Boixareu, de la editorial Marcombo, por sus sugerencias y apoyo para realizar este proyecto. En segundo lugar, a los lectores de mi primer libro de Android que me han escrito con ideas y peticiones. Algunas las he procurado incluir en esta obra. Gracias también a los miembros del grupo de Física Nuclear y Hadrónica de la Universidad de Granada, principalmente a Enrique Ruiz Arriola, Rodrigo Navarro Pérez y Nacho Ruiz Simó, que pacientemente atendieron a mis demostraciones con el teléfono de muchos de los ejemplos de este libro. Sus comentarios, durante los cafés, supusieron un valioso feedback. También es pertinente agradecer aquí el proyecto de investigación del Ministerio FIS2011-2414. Sin lugar a dudas, Android se integrará como herramienta en nuestra vida cotidiana y también en nuestro trabajo científico. Parte del material de este libro se desarrolló con la idea de aplicarlo en nuestras labores investigadoras. No olvido al Departamento de Física Atómica, Molecular y Nuclear de la Universidad de Granada, que ha facilitado la utilización de sus infraestructuras. Finalmente, le agradezco a mi familia su entusiasmo y paciencia, y especialmente a Miguel Ángel Amaro, la maquetación de este libro en Word.
2. ANIMACIONES INTERPOLADAS
En Android podemos aplicar animaciones simples a un objeto View. Se denominan animaciones interpoladas, o tweened animations, y consisten en traslaciones, rotaciones, cambios de tamaño o modificaciones de la transparencia. Cada animación puede almacenarse en un fichero xml en el directorio res/anim de nuestro proyecto. Este directorio habrá que crearlo, ya que Eclipse no lo genera al iniciar un nuevo proyecto.
2.1. Traslaciones
En este primer ejemplo Animacion.java aplicaremos una traslación a un texto definido como un objeto de tipo Textview. La traslación se efectúa especificando un cambio en la coordenada X inicial y final, en este caso en términos de porcentaje respecto al ancho total de la pantalla. También se debe especificar la duración de la animación en milisegundos. El sistema se encarga de interpolar entre la posición inicial y la final a intervalos regulares de tiempo para mostrarnos la animación. El siguiente fichero contiene la información de la animación:
El layout de este ejemplo es el siguiente:
En el programa Animacion.java definimos un objeto de tipo Animation mediante una referencia al fichero de animación traslacion_derecha.xml. Para iniciar la animación, basta con llamar al método startAnimation() del objeto TextView, pasando la animación como argumento.
El método setFillAfter(true) debe llamarse para que la transformación se mantenga tras la animación. En caso contrario, al finalizar esta, se mostrará el objeto TextView en su posición especificada en el layout. La animación se aplica al objeto TextView como un todo. Si añadimos texto con append más adelante, este también será animado. El resultado se muestra en la figura 2.1. El texto animado aparece inicialmente desplazado hacia la izquierda. Esto se establece en el fichero de animación en la línea
que indica que la coordenada X se desplace una distancia negativa igual al 50% del ancho de la pantalla. La posición final se define en la línea
es decir, desplazar el texto una distancia positiva igual al 50% del ancho de la pantalla. Para que el texto desaparezca completamente de la pantalla, basta con desplazarlo una distancia del 100%. Por ejemplo, la traslación
hará que el texto, inicialmente fuera de la pantalla a la izquierda, aparezca moviéndose hasta desaparecer por la derecha de la pantalla.
Esta otra animación
hace que el texto aparezca por la izquierda hasta llegar a la posición indicada en el layout, con un desplazamiento final igual a cero.
Figura 2.1. Animación interpolada con traslación a la derecha. Durante la animación (izquierda) y tras la animación (derecha).
Análogamente, especificando un desplazamiento inicial igual a cero y final igual a 100%, haremos ver que el texto se mueve desde su posición inicial hasta desaparecer de la pantalla por la derecha.
El interpolador controla el modo en que la velocidad de la animación varía con el tiempo, indicado en el fichero xml de la animación mediante la etiqueta interpolator.
Estos son algunos de los interpoladores disponibles: