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

问题描述 投票:1回答:1

我正在尝试将一个返回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),
)

我认为这将是使用匿名函数的理想场所,但事实并非如此?处理这个问题的最佳方法是什么?

dart flutter
1个回答
1
投票

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

Container(
  color: (() {
    Random r = Random();
    return Color.fromRGBO(
        r.nextInt(255), r.nextInt(255), r.nextInt(255), 1.0);
  })()
)
© www.soinside.com 2019 - 2024. All rights reserved.