首页 > 解决方案 > Dart - 单击飞镖后如何更改我的 raiseButton 的颜色?

问题描述

所以我一直在努力为我的颤振应用程序将按钮的颜色从绿色更改为红色。大多数在线资源都让我感到困惑。这是我的以下代码。

new RaisedButton(key:null, onPressed:buttonPressed,
                    color: Colors.green,
                    child:
                      new Text(
                      "10:00 A.M. - 11:00 A.M.",
                        style: new TextStyle(fontSize:15.0,
                        color: const Color(0xFF000000),
                        fontWeight: FontWeight.w200,
                        fontFamily: "Roboto"),
                      )
                    ),void buttonPressed(){
    }

我想点击它,它会变成绿色,甚至更好。单击它,使其变为灰色。然后单击另一个显示“确认”的按钮,它将使所有已单击的灰色按钮变为红色。无论如何,我只是想了解如何让按钮在被点击后改变颜色。

标签: flutterdart

解决方案


基本上,你需要做的是,

  • 使 RaisedButton 颜色成为类级别的变量,而不是像现在这样的常量。
  • 在方法中将该变量初始化为某个颜色值initState
  • onPressedRaisedButton 的处理程序中,执行以下操作:
    • 将该变量更改为您喜欢的某个颜色值。
    • 触发重绘(以便绘制新颜色),即调用setState方法。

最后但并非最不重要的一点是,您需要将所有代码都包含在有状态小部件的一部分之上。

希望它足够清楚,如果您还需要一些代码示例,请告诉我们。


推荐阅读