Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 将列表转换为给定大小的子列表_Dart - Fatal编程技术网

Dart 将列表转换为给定大小的子列表

Dart 将列表转换为给定大小的子列表,dart,Dart,我有一个X小部件的列表,并希望在行的列表视图中显示它们。我知道我可以在每一行安装N个小部件 我想做: var MyListOfRows = ListView( children: intoSublists(widgetList,subListSize).map( (sublist)=> Row( children: sublist, ) ).toList() ); 我曾想过用复杂的模魔术来实现intoSublis

我有一个X小部件的列表,并希望在行的列表视图中显示它们。我知道我可以在每一行安装N个小部件

我想做:

  var MyListOfRows = ListView(
    children: intoSublists(widgetList,subListSize).map(
        (sublist)=> Row(
          children: sublist,
        )
    ).toList()
  );
我曾想过用复杂的模魔术来实现intoSublists,但这似乎留下了复杂的代码,我希望有一种简单的方法来实现它,那就是dart。有吗


(这是我传递最小高度和宽度以及小部件列表的组件的一部分。该组件应该显示尽可能大的小部件,如果由于最小尺寸而有太多小部件,则显示一个可滚动列表)

您正在重新发明轮子。使用
SingleChildScrollView
和a,而不是
ListView
和一堆
,并让
包装
根据屏幕的实际大小确定特定“行”中可以容纳多少小部件

var myList=SingleChildScrollView(
孩子:包裹(
孩子们:widgetList,
),
);
编辑:如果希望小部件拉伸以填充行(并且所有小部件的大小都相同),还可以使用:

var myGrid=GridView(
crossAxisCount:subListSize,//要跨越多少个小部件
孩子们:widgetList,
);

您如何知道可以将N个小部件放入一行?它们是否有一个动态宽度,以确保它们都适合而不会溢出?对于该应用程序可能运行的每台设备都是这样吗?@Abion47:N是根据可用空间预先计算的。据我所知,Wrap与Expanded()的交互方式与Row的交互方式不同,因此会产生不同的结果。@Christian您在问题中没有提到
Expanded
。预期的结果是什么?这是我传递最小高度和宽度以及小部件列表的组件的一部分。组件应该显示尽可能大的小部件,如果由于最小尺寸而有太多小部件,则会显示一个可滚动列表。@每个小部件的大小是否相同?是的,它们的大小都相同。