在按下时更改颜色的RaisedButton

问题描述 投票:0回答:1

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

}

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

mobile flutter flutter-layout
1个回答
0
投票

您忘记了调用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;}),
    );
  }
© www.soinside.com 2019 - 2024. All rights reserved.