Читать книгу El gran libro de programación avanzada con Android - José Enrique Amaro Soriano - Страница 9

2.2. Repetición de animaciones

Оглавление

Para repetir una animación, debemos usar el método setRepeatMode() e indicar el número de repeticiones con setRepeatCount(). Por ejemplo, para repetir una animación 20 veces:


En este punto hay que advertir que en las actuales versiones de Android, la repetición de animaciones no funciona con la etiqueta set que hemos utilizado en el ejemplo anterior (bug documentado en la página web de Android). La etiqueta set se aplica a un objeto AnimationSet, que permite superponer varias animaciones. Para repetir una animación, esta debe ser simple, es decir, no debe contener la etiqueta set.

En el siguiente ejemplo se anima un texto central a lo largo de la diagonal. El movimiento es oscilatorio alrededor de su posición original con una amplitud de 50 píxeles de abajo arriba y de izquierda a derecha. El movimiento es rápido, con una duración de 200 milisegundos, y la aceleración es como un martilleo. El fichero de la animación es el siguiente:


Usaremos el siguiente layout:


A continuación se detalla el programa Java. Nótese que no se usa setFillAfter(true) para que el texto al final quede en su posición original. También se ilustra cómo pueden recuperarse algunos parámetros de la animación con getRepeatMode() y getRepeatCount(). En la figura 2.2. se muestra el resultado.


Figura 2.2. Animación repetida con movimiento diagonal. Durante la animación (izquierda) y tras la animación (derecha).



El gran libro de programación avanzada con Android

Подняться наверх