在SingleChildScrollView/Column中重新排序ListView



我需要将可重新排序的列表放在SingleChildScrollView中,但ReorderableListView((不像ListView(。有没有办法在不使用过时的未维护包的情况下完成这种布局?尽管如此,我还没有测试过那些可用的过时包,我不知道它们是使用不同的小部件构建的,还是只是基于ReorderableListView((构建的,如果这样的话,错误会持续存在。

您可以在Column中用ExpandedWidget包装ReorderableListView

flutter团队最近发布了2.0.1稳定版,并附带了一个新设计的ReorderList类。正如我所测试的,ReorderableList类可以顺利地使用Column和SingleChildScrollView。

代码片段类似:

SingleChildScrollView(
child: Column(
children: [
ReorderableList(
controller: ScrollController(),
shrinkWrap: true,
itemCount: itemList.length,
itemBuilder: (BuildContext context, int index) {
final item = itemList[index];
return ReorderableDelayedDragStartListener(
index: index,
key: UniqueKey(),
ListTile(...),
);
},
onReorder: (int oldIndex, int newIndex) {...},
),
],
),
);

对我来说,我在ScrollView中的Column中使用了Reorderable Listview。

尝试了多种组合,但都出现了错误,所以我只是将ListView的每个ListTile封装在一个容器中,这对我来说很有效。如果不起作用,那就试着限制每个容器的高度。

最新更新