Back to questions
Andersen
Junior — Middle
130
Каким образом управлять анимацией через AnimationController в вашем приложении?
Companies where asked
Answer from AI
sobes.tech AI
В Flutter для управления анимацией используется класс AnimationController. Он позволяет запускать, останавливать, повторять и контролировать прогресс анимации.
Основные шаги:
- Создайте AnimationController в состоянии виджета (обычно в методе initState), указав длительность анимации и vsync (для оптимизации ресурсов).
- Используйте методы контроллера:
forward(),reverse(),repeat(),stop()для управления анимацией. - Подпишитесь на изменения значения анимации через слушатель (
addListener), чтобы обновлять UI. - Не забудьте освободить ресурсы, вызвав
dispose()для контроллера в методеdisposeвиджета.
Пример:
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(),
);
}
}