Для изменения цвета кнопки при нажатии в Flutter вы можете использовать состояние виджета Button. Внутри состояния вы можете определить стандартный цвет кнопки и изменить его при нажатии.
1. Создайте класс виджета, который наследует от StatefulWidget:
class CustomButton extends StatefulWidget { @override State<StatefulWidget> createState() => _CustomButtonState(); }
2. Создайте приватный класс состояния для вашего виджета:
class _CustomButtonState extends State<CustomButton> { Color _buttonColor = Colors.blue; // задайте стандартный цвет кнопки @override Widget build(BuildContext context) { return GestureDetector( onTapDown: (tapDownDetails) { setState(() { _buttonColor = Colors.red; // измените цвет кнопки при нажатии }); }, onTapUp: (tapUpDetails) { setState(() { _buttonColor = Colors.blue; // верните стандартный цвет кнопки после отпускания }); }, child: Container( color: _buttonColor, // используйте текущий цвет кнопки child: Text('Button'), ), ); } }
3. Используйте ваш кастомный виджет в других местах вашего приложения:
CustomButton(),
Теперь, при нажатии на кнопку, она будет менять цвет с синего на красный, а после отпускания снова станет синей.