Класс CurvedAnimation
CurvedAnimation(parent: controller, curve: Curves.easeIn)
Синтаксис
CurvedAnimation(
parent: animation,
curve: curve,
)
Методы
| Метод | Описание |
|---|---|
dispose |
Отписывает CurvedAnimation от parent и освобождает listener.
|
Пример
Давайте обернём контроллер:
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 curved = CurvedAnimation(parent: _controller, curve: Curves.easeIn);
return MaterialApp(home: Scaffold(body: Center(child: FadeTransition(opacity: curved, child: Text('abcde')))));
}
}
void main(){runApp(const Pulse());}
На экране 'abcde' исчезает по easeIn.
Пример
Давайте сменим curve:
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 curved = CurvedAnimation(parent: _controller, curve: Curves.bounceOut);
return MaterialApp(home: Scaffold(body: Center(child: FadeTransition(opacity: curved, child: Text('12345')))));
}
}
void main(){runApp(const Pulse());}
На экране '12345' с bounceOut.
Смотрите также
-
класс
AnimationController,
который задаёт длительность иvsync -
смесь
SingleTickerProviderStateMixin,
которую добавляют кStateдляvsync -
класс
Tween,
который переводит значениеcontroller.value -
виджет
FadeTransition,
который слушаетAnimation