我正在尝试将一个返回Color的匿名函数传递给Container()构造函数的color:参数。
https://i.imgur.com/xWI63S9.png
我正在尝试创建一个随机颜色的容器。因为随机生成器的值会随着每次重绘而改变,所以我可以很容易地发现我的应用程序的哪些部分正在被重新渲染。
我知道我也可以在调试器中使用覆盖,但是我更感兴趣的是为什么这不起作用而不是如何实现这个目标。
我试过了
Container(
color: () {
Random r = Random();
return Color.fromRGBO(
r.nextInt(255), r.nextInt(255), r.nextInt(255), 1.0);
}
)
和
Container(
color: (Random r = Random()) => Color.fromRGBO(
r.nextInt(255), r.nextInt(255), r.nextInt(255), 1.0),
)
我认为这将是使用匿名函数的理想场所,但事实并非如此?处理这个问题的最佳方法是什么?
如果要使用匿名函数,则必须调用它:
Container(
color: (() {
Random r = Random();
return Color.fromRGBO(
r.nextInt(255), r.nextInt(255), r.nextInt(255), 1.0);
})()
)