Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
828 of 1024 menu
◀ ▶

Класс Tween

Класс Tween<T> задаёт begin и end.

Синтаксис

Tween<double>(begin: 0, end: 100)

Параметры

Параметр Описание
begin Начальное значение, когда анимация равна 0.
end Конечное значение, когда анимация равна 1.

Методы

Метод Описание
animate Возвращает Animation, связанный с родительской Animation.
chain Оборачивает другой Animatable в цепочку преобразований.
evaluate Возвращает значение T для текущего кадра animation.
lerp Интерполирует между begin и end по доле t.
transform Возвращает значение между begin и end для параметра t.

Пример

Давайте evaluate на 0.5:

import 'package:flutter/material.dart'; void main() { var t = Tween(begin: 0.0, end: 10.0); print(t.transform(0.5)); print('12345'); }

В консоли будет 5.0 и '12345'.

Пример

Давайте animate с контроллером:

import 'package:flutter/material.dart'; class Pulse extends StatefulWidget { const Pulse({super.key}); @override State<Pulse> createState() => _PulseState(); } class _PulseState extends State<Pulse> with SingleTickerProviderStateMixin { late AnimationController _controller; @override void initState() { super.initState(); _controller = AnimationController( vsync: this, duration: Duration(milliseconds: 600), ); } @override void dispose() { _controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { var anim = Tween(begin: 0.0, end: 1.0).animate(_controller); return MaterialApp(home: Scaffold(body: Center(child: Text('abcde', style: TextStyle(fontSize: 16 + anim.value * 8))))); } } void main() { runApp(const Pulse()); }

На экране 'abcde' меняет размер через Tween.animate.

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить