扑-如何随机化小部件序列/顺序

时间:2019-10-03 23:24:58

标签: android user-interface flutter widget flutter-layout

假设我在以下小部件中:

ListView(
   physics: NeverScrollableScrollPhysics(),
   shrinkWrap: true,
   children: <Widget>[

     this.widgetA();
     this.widgetB();
     this.widgetC();

     this.widgetX();
     this.widgetY();
     this.widgetZ();

   ]
)

有没有一种方法可以随机化窗口小部件X,Y和Z的顺序,因此顺序将为Y,Z,X或Z,X,Y,而窗口小部件A,B,C保持不变(无随机数)。

这可能吗?

===更新

此警告是什么意思?

enter image description here

...randomOrderedWidgets,

1 个答案:

答案 0 :(得分:1)

这与Flutter无关,而是Dart。您可以创建一个名为randomOrderedWidgetsshuffle的新列表,然后使用价差运算符或列表的串联将其包括在ListView子级中。

final randomOrderedWidgets = [
    this.widgetX(),
    this.widgetY(),
    this.widgetZ()
];
randomOrderedWidgets.shuffle();

ListView(
   physics: NeverScrollableScrollPhysics(),
   shrinkWrap: true,
   children: <Widget>[
     this.widgetA(),
     this.widgetB(),
     this.widgetC(),
   ]..addAll(randomOrderedWidgets)
)