【发布时间】:2022-08-09 21:39:28
【问题描述】:
我正在尝试使用 onTap 在按下时更改容器的外观,但是我遇到的问题是现在单击它什么也没做。
以下是我的代码: 主页:
child: SubscribeButton(
onTap: buttonPressed,
isButtonPressed: isButtonPressed,
),
方法:
bool isButtonPressed = false;
void buttonPressed() {
setState(() {
if (isButtonPressed = false) {
isButtonPressed = true;
} else if (isButtonPressed = true) {
isButtonPressed = false;
}
});
}
按钮:
Class SubscribeButton extends StatelessWidget {
final onTap;
bool isButtonPressed;
SubscribeButton({this.onTap, required this.isButtonPressed});
Widget build(BuildContext context) {
final themeProvider = Provider.of<ThemeProvider>(context);
return GestureDetector(
onTap: onTap,
child: AnimatedContainer(
duration: Duration(milliseconds: 200),
child: Text(
isButtonPressed ? \"Pressed\" : \"Not Pressed\",
style: isButtonPressed
? Theme.of(context).textTheme.bodyMedium
: Theme.of(context).textTheme.headlineMedium,
), ...
如果我手动更改布尔值,它将正确显示文本,但是单击按钮本身什么也不做。我检查了重叠和其他东西但是没有发现任何东西。
感谢您的帮助!