Метод chain
Метод chain класса Tween. Оборачивает другой Animatable в цепочку преобразований.
Синтаксис
tween.chain(parent)
Параметры
| Параметр | Описание |
|---|---|
см. синтаксис |
Аргументы как в документации Flutter. |
Пример
Пример:
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) {
Tween(begin: 0, end: 1).chain(CurveTween(curve: Curves.easeIn));
return MaterialApp(home: Scaffold(body: Center(child: Text('abcde'))));
}
}
void main() { runApp(const Pulse()); }
На экране 'abcde' после вызова Tween.
Пример
Пример 2:
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) {
print('abcde');
return MaterialApp(home: Scaffold(body: Center(child: Text('12345'))));
}
}
void main() { runApp(const Pulse()); }
На экране '12345'.
Смотрите также
-
класс
AnimationController,
который задаёт длительность иvsync -
смесь
SingleTickerProviderStateMixin,
которую добавляют кStateдляvsync -
класс
Tween,
который переводит значениеcontroller.value -
виджет
FadeTransition,
который слушаетAnimation