如何在 flutter 中创建渐变颜色列表?

How to Create a list of Gradient Colors list in flutter?

我希望创建一个包含 7 种渐变颜色的列表,我可以将其作为背景随机应用到容器中。

gradientColors[rand(0,6)];

列表需要以单独文件的形式存储在本地应用程序中。

我的想法是做如下事情:

List<Color> gradientRed = Colors.amber, Colors.red;
List<Color> gradientBlue = Colors.blue, Colors.blueAccent;

List<Colors> gradientColor = [
  gradientRed, gradientBlue, ...
];

但我遇到了以下错误:

The element type 'List<Color>' can't be assigned to the list type 'Colors'.dart(list_element_type_not_assignable)

另外,我试图在给定范围内生成随机数。但我总是得到相同的号码。

在 flutter 中的 foreach 循环中使用此代码

    int min = 0;
    int max = gradientColors.length;
    var randIndex = min + (Random(1).nextInt(max - 1));
    print(randIndex);

这里有什么解决方案?

您的列表类型本身需要是一个列表:

List<List<Colors>> gradientColor = [color gradients go here]

对于我遇到的列表问题,我只是删除了列表类型并让它现在像下面这样动态:

List gradientColors = [
     gradientRed,
     gradientBlue,
     gradientGreen,
     gradientYellow,
     gradientPurple,
     gradientPink,
     gradientOrange,
     gradientAmber,
];

对于列表长度上的随机数,我使用了以下代码:

const int min = 0;
    int max = gradientColors.length;
    var randIndex = Random().nextInt(max);
    print(randIndex);