Uno de los grandes principios de Material Design es mantener la interacción con el usuario, es decir, todo en nuestra UI debe ser interactiva. Al utilizar una interfaz en nuestra app debe significar una acción y reacción, la aplicación debe ser capaz de responder a la interacción de los usuarios.
A partir de estas “nuevas” métricas de diseño, Android introdujo una serie de clases y métodos para crear animaciones en nuestras vistas.
Android tiene esencialmente 3 formas de crear animaciones:
Esta vez aprenderemos de qué se trata cada uno y cuándo utilizarlas.
Este tipo de animación es de las más sencillas y se enfoca en recursos Drawable que tienen una secuencia de imágenes como un Flip Book.
En este tipo de animaciones debemos tener la secuencia de imágenes en la carpeta de recursos drawable. En un próximo artículo aprenderemos a hacer estas.
También se conocen como Animaciones Tween que proviene del término “in between” (intermedio), esto porque para que se de la animación es calculada entre el punto inicial y final del view.
Podemos darle los siguientes comportamientos al view e incluso mezclarlos entre sí:
Este tipo de animaciones pueden ser definidas con código Java o con recursos XML (res/anim), aunque es más recomendable hacerlo con XML pues es más portable y podemos reutilizarlo muy fácilmente.
Este es un ejemplo de animaciones como recurso en dónde se está definiendo la afectación de un objeto en su tamaño y en su rotación:
<setandroid:interpolator="@android:anim/decelerate_interpolator"><scaleandroid:fromXScale="1.4"android:toXScale="0.0"android:fromYScale="0.6"android:toYScale="0.0"android:pivotX="50%"android:pivotY="50%"android:startOffset="700"android:duration="400"android:fillBefore="false" /><rotateandroid:fromDegrees="0"android:toDegrees="-45"android:toYScale="0.0"android:pivotX="50%"android:pivotY="50%"android:startOffset="700"android:duration="400" />set>
También veremos en próximos artículos cómo hacer animaciones de vistas con más profundidad.
Este tipo de animación se introdujo en la versión 3.0 de Android (cuando llegaron las tablets y teníamos OpenGL en 3D). Estas animaciones se van a enfocar en animar las propiedades del objeto, es decir modificará al objeto en sí.
Este tipo es pensado para animaciones más complejas que van más allá de afectar el tamaño o la rotación de un elemento.
Podemos modificar lo siguiente:
Como ves este tipo de animaciones funcionan gracias a las librerías de Gráficos 2D y 3D que se han implementado en Android, comenzando con OpenGL y un API Framework de Android construdo con el Native Development Kit (NDK).
A pesar de que estas están diseñadas a un bajo nivel de código, utilizar animaciones en Android es algo costoso. Entonces tratemos de usarlas solo en momentos muy específicos de nuestra aplicación. Si lo que tienes en mente es construir un Video Juego en ese caso te recomiendo utilices otra herramienta como Unity, si este es tu punto de interés puedes tomar nuestra Carrera de Videojuegos en Platzi.
Te espero en los siguientes capítulos para ver con más profundidad estos tipos de animaciones en Android 💚