0

当我单击它时,我正在尝试更改按钮的颜色。你能帮我吗,因为我真的做不到。谢谢你。

 Container(

        child: new Row(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            children: <Widget>[
              new MaterialButton(
                  child: new Text("1"),
                  color: Colors.greenAccent,
                splashColor: Colors.red,
                  onPressed:  (){
                    test=0;
                    test=1;



},




 ),
              new MaterialButton(
                child: new Text("2"),
                  color: Colors.greenAccent,
                    onPressed: (){
                    test=0;
                    test=2;

},
4

2 回答 2

2

像这样试试

Color mySplashColor=Colors.blue; //define in build function or state class

splashColors: mySplashColor,
onPressed(){
setState(){
splashColors=Colors.red;
}
}
于 2020-05-26T23:28:18.740 回答
0

做到这一点的方法是使用状态。您应该做的第一件事是将您的小部件转换为有状态的小部件

之后,您将名为 buttonColor 的 Color 类型的状态变量设置为具有默认值“Colors.greenAccent”。然后将 MaterialButton 颜色属性设置为此变量。

现在唯一要做的就是使用 () => setState(() => buttonColor = Colors.red ) 作为按钮的 onPressed 属性。

于 2021-08-27T16:32:10.643 回答