更改颜色RaisedButton onPressed

时间:2019-09-30 15:12:56

标签: mobile flutter flutter-layout

我想在按下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;
                    }),
                  ),

}

但是当我单击按钮时,初始颜色保持不变。

1 个答案:

答案 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;}),
    );
  }