SingleChildScrollView / Column内的ReorderableListView

时间:2020-05-06 05:47:34

标签: flutter dart flutter-layout

我需要将可重新排序的列表放在SingleChildScrollView中,但是ReorderableListView()并不像ListView()那样具有收缩包装。是否可以解决此问题而不使用过时的未维护软件包?虽然,我还没有测试那些可用的过时软件包,但我不知道它们是否使用其他小部件构建,或者它们是否仅基于ReorderableListView()构建,否则错误将继续存在。

3 个答案:

答案 0 :(得分:0)

您可以将 ReorderableListView Expanded 小部件包装在中。

答案 1 :(得分:0)

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

尝试了多种组合但出现错误,所以我只是将 ListView 的每个 ListTile 包装在一个容器中,它对我有用。如果这不起作用,请尝试限制每个容器的高度。

答案 2 :(得分:-1)

flutter 团队最近发布了 2.0.1 稳定版,它附带了一个新设计的 ReorderableList 类。经我测试,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) {...},
         ),
       ],
     ),
   );