flutter - 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(){
}
我想点击它,它会变成绿色,甚至更好。单击它,使其变为灰色。然后单击另一个显示“确认”的按钮,它将使所有已单击的灰色按钮变为红色。无论如何,我只是想了解如何让按钮在被点击后改变颜色。
解决方案
基本上,你需要做的是,
- 使 RaisedButton 颜色成为类级别的变量,而不是像现在这样的常量。
- 在方法中将该变量初始化为某个颜色值
initState
。 - 在
onPressed
RaisedButton 的处理程序中,执行以下操作:- 将该变量更改为您喜欢的某个颜色值。
- 触发重绘(以便绘制新颜色),即调用
setState
方法。
最后但并非最不重要的一点是,您需要将所有代码都包含在有状态小部件的一部分之上。
希望它足够清楚,如果您还需要一些代码示例,请告诉我们。
推荐阅读
- javascript - 不和谐的 ping 命令
- javascript - 如何将对象数组转换为仅由值组成的对象
- javascript - 当我使用“javascript: return false;”时出现“SyntaxError: return not in function” 在
- git - Git:rm 文件不在当前工作目录中(使用 cmd/batch)
- css - 如何绘制 fontawesome 图标的内部颜色(不是字体颜色)以避免透明度?
- java - java - 为什么jaca类中的@Value无法加载application.properties中的属性
- stripe-payments - 条纹疲倦的毕业生定价 api 不返回金额
- c# - 为什么 Visual Studio 仅在调试模式下运行我的解决方案?
- correlation - rmcorr 返回 ap 值 >1
- python - 为什么在 Django Rest Framework 中出现“AssertionError:可能无法同时设置 `read_only` 和 `required`”?