Существует ли передовая практика или общий шаблон, когда речь идет об обработке нескольких анимаций для одного виджета?
Например, у меня есть кнопка, которая должна пульсировать при нагрузке, а затем уменьшаться при нажатии, каждая из которых является отдельной анимацией. В настоящее время я работаю с этим, имея класс PulsingButton и класс ShrinkingButton, каждый из которых возвращает AnimatedBuilder, и у меня есть логическое значение «buttonPressed», которое изменяется в setState при нажатии кнопки, которая затем вызывает страницу на либо возвращает PulsingButton () или ShrinkingButton () в зависимости от значения buttonPressed.
Это кажется супер хакерским и, очевидно, не масштабируемым, и просто хочу знать, что это за стандарт, если он есть. Спасибо!
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: _startAnimation,
child: widget.buttonPressed
? ShrinkingButton( //AnimatedBuilder
controller: _controller,
startingRadius: widget.radius,
)
: PulsingButton( //AnimatedBuilder
controller: _controller,
startingRadius: widget.radius,
),
);
}
}