mobile - 更改颜色 RaisedButton onPressed
问题描述
当我按下我的 RaisedButton 时,我想改变我的颜色。
所以我初始化一个布尔值,并在我的方法 setState() 中调用它。
class _Poll extends State<PollPage> {
var pressed = true;
new RaisedButton(
color: pressed ? Colors.pink[50] : Colors.pink,
hoverColor: Colors.pinkAccent,
focusColor: Colors.pinkAccent,
child: new Text(choix[3]),
onPressed: ((){
pressed = !pressed;
}),
),
}
但是当我点击我的按钮时,初始颜色保持不变。
解决方案
你忘了调用 setState()。
@override
Widget build(BuildContext context) {
return RaisedButton(
color: pressed ? Colors.blue : Colors.pink,
hoverColor: Colors.pinkAccent,
focusColor: Colors.pinkAccent,
child: new Text("Raised Button"),
onPressed: () => setState((){pressed = !pressed;}),
);
}
推荐阅读
- git - 如何将现有的非空目录转换为 Git 工作目录并将文件推送到远程分支
- php - 在 PHP 中使用 PDO 动态构建多级菜单
- google-cloud-functions - 如何使用 Actionsdk 创建自定义意图和调用助手意图?
- javascript - 如何处理承诺链中的多个错误?
- apache-poi - 如何使用 Apache XSSF POI 流 API 读取实数值而不是格式化值?
- stripe-payments - Stripe 的 API 是否会拉取交易发生的网页的 URL?
- java - 由于不存在交换,Java RabbitMQ 客户端在 nack 后通过生产者提交回调线程重新发送挂起
- date - 如何将日期字段转换为这种格式 2018 / 01
- python - Python如何检索数组中的数据
- vba - VBA - 关闭除特定工作簿以外的所有工作簿