Виджет AnimatedIcon
AnimatedIcon(icon: icon, progress: animation)
Синтаксис
AnimatedIcon(
icon: AnimatedIcons.menu_close,
progress: animation,
)
Параметры
| Параметр | Описание |
|---|---|
icon |
Пара AnimatedIcons.
|
progress |
Animation от 0 до 1.
|
size |
Размер иконки. |
Пример
Давайте AnimatedIcons.menu_close:
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)
{
return MaterialApp(
home: Scaffold(
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
AnimatedIcon(
icon: AnimatedIcons.menu_close,
progress: _controller,
size: 48,
),
Text('abcde'),
],
),
),
),
);
}
}
void main()
{
runApp(const Pulse());
}
На экране иконка menu_close и подпись 'abcde'.
Пример
Давайте с текстом:
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)
{
return MaterialApp(
home: Scaffold(
body: Column(mainAxisSize:MainAxisSize.min,children:[AnimatedIcon(icon:AnimatedIcons.play_pause,progress:_controller),Text('12345')]),
),
);
}
}
void main(){runApp(const Pulse());}
На экране '12345' под AnimatedIcon.
Смотрите также
-
класс
AnimationController,
который задаётduration -
класс
Curves,
который задаётcurve -
виджет
AnimatedBuilder,
когда нужен ручнойbuilder -
виджет
MaterialApp,
корень примеров