为什么不能使用匿名函数返回颜色值?

时间:2019-04-07 11:04:25

标签: dart flutter

我正在尝试传递一个匿名函数,该函数将 Color 返回给 Container()构造函数的 color:自变量。< / p>

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),
)

我认为这是使用匿名函数的理想场所,但是不是吗?最好的解决方法是什么?

1 个答案:

答案 0 :(得分:1)

如果要使用匿名函数,则必须调用它:

Container(
  color: (() {
    Random r = Random();
    return Color.fromRGBO(
        r.nextInt(255), r.nextInt(255), r.nextInt(255), 1.0);
  })()
)