我想在按下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;
}),
),
}
但是当我单击按钮时,初始颜色保持不变。
答案 0 :(得分:3)
您忘记了调用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;}),
);
}