¿Qué es tween en Flutter?

| Última modificación: 18 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Ya sabes qué es Tween en FlutterSi perteneces al sector del desarrollo mobile, es probable que ya conozcas o hayas trabajado con el SDK Flutter, enfocado en el desarrollo de aplicaciones, para lo que hace uso de componentes como Tween. Esta se entiende como una interpolación de tipo lineal entre dos valores: uno inicial y uno final.

Para conocer todo lo relacionado con la opción de Tween en Flutterdebes quedarte en este artículo, donde encontrarás sus características y funciones de mayor relevancia.

tween en Flutter

¿Qué es Tween en Flutter?

La opción de Tween en Flutter se define como una interpolación lineal entre un determinado valor inicial y un valor final específico. Esta opción resulta de gran utilidad cuando se necesita llevar a cabo la interpolación de un rango en el sistema de Flutter.

Este objeto también puede usarse con una animación, para lo que se debe realizar un llamado al método animado del objeto Tween, pasándole el objeto de tipo animation que se desee cambiar.

Características de la Tween en Flutter

Dentro de las características relevantes de la opción de Tween en Flutter se encuentra que, si sus valores no son modificados nunca, es posible aplicar una optimización donde el objeto sea almacenado en un recurso de static final variable, para usarlo en la misma instancia cuando se requiera.

Asimismo, este recurso permite encadenar objetos de interpolación a través del mecanismo de cadena, para que solo un objeto de animación sea configurado a través de diversos objetos llamados en sucesión.

¿Cómo utilizar Tween?: ejemplos

El tween en Flutter puede ser utilizado de dos modos. Para ello veamos un ejemplo en donde tenemos un AnimationController denominado _controller y deseamos crear una animación de desplazamiento con Offset. Las dos maneras de hacerlo son:

_animation = _controller.drive(
Tween<Offset>(
begin: const Offset(100.0, 50.0),
end: const Offset(200.0, 300.0),
),
);

O también:

_animation = Tween<Offset>(
begin: const Offset(100.0, 50.0),
end: const Offset(200.0, 300.0),
).animate(_controller);

Para ambos casos la variable _animation alojará un valor que cambia suavemente entre los puntos definidos dentro del tween a lo largo de la duración del AnimationController. Si por ejemplo cambiaras el tipo de tween a MaterialPointArcTween, lo que obtendrías sería una animación que sigue una curva en vez de una línea recta.

Almacenamiento del tween en variables estáticas

🔴 ¿Quieres entrar de lleno al Desarrollo Mobile? 🔴

Descubre el Desarrollo de Apps Móviles Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Desarrollo de Apps Móviles por una semana

Una de las grandes cualidades de los objetos tween es que son mutables, esto quiere decir que puedes cambiar los valores de inicio y fin en tiempo de ejecución sin tener que recrear toda la cadena de animación. No obstante, si sabes que los valores del tween nunca van a cambiar, puedes optimizarlo almacenando el tween en una variable estática y final (static final), así se podrá reutilizar la misma instancia siempre y cuando sea necesario.

Un aspecto importante a considerar es que los objetos Tween son mutables, lo que significa que puedes cambiar los valores de inicio y fin en tiempo de ejecución sin necesidad de recrear toda la cadena de animación. Esto es especialmente útil cuando quieres modificar una animación en tiempo real.

Clases Tween especializadas

Algunos tipos de datos en Flutter tienen métodos de interpolación propios que hacen que sean compatibles con Tween. ColorTween, por ejemplo, utiliza el método Color.lerp para interpolar entre dos colores. Así mismo existen clases específicas como:

  • IntTween: Interpola enteros al aproximar el valor mediante redondeo.
  • StepTween: Similar al IntTween, pero utiliza floor para asegurar que el valor nunca exceda el rango interpolado.

Además, otros tipos como AlignmentTween, SizeTween o MaterialPointArcTween manejan sus propias interpolaciones especializadas.


En este artículo has podido conocer todo lo que se relaciona con el componente de Tween en Flutter. Ahora que ya estás en este punto, no dudes en continuar con tu proceso de formación y aprendizaje sobre esta y otras opciones de utilidad para el desarrollo mobile. Puedes hacerlo inscribiéndote en nuestro Desarrollo de Apps Móviles Full Stack Bootcamp, la formación intensiva con la que, en pocos meses, podrás obtener el conocimiento y la práctica que se requieren para destacar dentro del sector IT. ¡Solicita más información ahora y no dejes de aprender!

Jose Luis Bustos
Jose Luis Bustos

Lead Software Architect & Coordinador del Bootcamp en Desarrollo de Apps Móviles iOS & Android.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo de apps móviles ios & Android

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado