Guadalajara (Spain). Ingeniero Superior en Informática por la Universidad de Alcalá. Co-fundador y diseñador web en Ayuve. Organizador de las Tertulias Viajeras Wanderlust Guadalajara y Co-organizador de Codenares, creador de la web Senderismoguadalajara.es (nivel básico de Montañismo por la Escuela de Madrileña de Montaña) y de la app móvil Tu Huerto en Casa (www.tuhuertoencasa.net). Sígueme en twitter, soy @vjpascual.

Cuando estamos desarrollando y creando nuestra aplicación, el diseño cuenta bastante ya que es lo que entra por los ojos del usuario. Una de las cosas que dan “vidilla” a nuestra aplicación son las transiciones entre pantallas o Activity. ¿Cómo se hacen?

Para realizarlas tenemos que usar la función overridePendingTransition referencia del Developer de Android ) la cual es llamada justo tras la función startActivity o finish(). Lo que hace es llamar a un recurso de animación o XML preparado para ello para la Activity, y otro para la entrante. De esa forma se construye la animación. Un ejemplo de llamada sería:

[cc lang=”java”]overridePendingTransition(R.anim.entrada, R.anim.salida);[/cc]

Esa línea lo que hace es llamar con la función overridePendingTransition a dos XML alojados en la carpeta res/anim. Esto último es importantísimo, ya que si no están alojados ahí no podrá generarse bien el archivo R.java dando problemas.

Y os preguntaréis…¿y cómo construyo un XML de tipo animador o animation? Es sencillo. Veamos R.anim.entrada:

[cc lang=”xml”]




[/cc]

Ahora veamos R.anim.salida:
[cc lang=”xml”]



¿Cómo personalizar nuestra animación? Para ver las posibilidades que tiene tenemos que acudir al Animation Resources del Developer de Android donde vienen definidos los parámetros para poder usar en nuestras animaciones.

Como veis es tan sencillo como crear los dos XML con las animaciones y después llamar a la función que las activa.

Deberías leer  Entrevista en Android Excellence

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *