Junior — Middle
Как да управляваме анимацията чрез AnimationController във вашето приложение?
sobes.tech AI
Отговор от AI
В Flutter за управление на анимацията се използва класът AnimationController. Той позволява стартиране, спиране, повторение и контрол на прогреса на анимацията.
Основни стъпки:
- Създайте AnimationController в състоянието на widget-а (обикновено в метода initState), като зададете продължителността на анимацията и vsync (за оптимизация на ресурсите).
- Използвайте методите на контролера:
forward(),reverse(),repeat(),stop()за управление на анимацията. - Абонирайте се за промените в стойността на анимацията чрез слушател (
addListener), за да актуализирате UI. - Не забравяйте да освободите ресурсите, като извикате
dispose()в методаdisposeна widget-а.
Пример:
class MyAnimatedWidgetState extends State<MyAnimatedWidget> with SingleTickerProviderStateMixin {
late AnimationController _controller;
@override
void initState() {
super.initState();
_controller = AnimationController(
duration: const Duration(seconds: 2),
vsync: this,
)..addListener(() {
setState(() {}); // обновява UI при промяна на анимацията
});
_controller.forward(); // стартира анимацията
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Opacity(
opacity: _controller.value, // стойност от 0.0 до 1.0
child: YourWidget(),
);
}
}