Do you want to switch to Platzi in English?
18

Tipos de animaciones en Android

10248Puntos

hace 1 a

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:

  • Animaciones Drawable
  • Animación de View’s
  • Animaciones de Propiedades

Esta vez aprenderemos de qué se trata cada uno y cuándo utilizarlas.

Animaciones Drawable

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.

Animaciones de View’s

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í:

  • posición
  • tamaño
  • rotación
  • transparencia

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.

Animaciones de Propiedades

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:

  • DuraciónEl tiempo por default es de 300ms.
  • Interpolación de tiempoPodemos especificar las propiedades que se cambiarán en función del tiempo.
  • Recuento de repeticiónControlamos las repeticiones, que se haga en un loop, reversa, cantidad de repeticiones, etc..
  • Conjuntos de animaciónLas animaciones se agrupan y se pueden reproducir juntas.
  • Delay de Actualización de FramesPodemos especificar la frecuencia con la que deseamos mostrar cada frame, el valor por default por el momento es 10ms .

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 💚

Ann
Ann
@anncode

10248Puntos

hace 1 a

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
1
879Puntos

Gracias 😄 … !!! Suena genial 😄

0
1167Puntos

Hay un curso de animaciones en Android??