Flutter中的Expandable ReorderableListView

时间:2019-08-12 01:50:16

标签: flutter dart

以下示例代码摘自here

List<String> _list = ["Apple", "Ball", "Cat", "Dog", "Elephant"];

@override
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(),
    body: ReorderableListView(
      children: _list.map((item) => ListTile(key: Key("${item}"), title: Text("${item}"), trailing: Icon(Icons.menu),)).toList(),
      onReorder: (int start, int current) {
        // dragging from top to bottom
        if (start < current) {
          int end = current - 1;
          String startItem = _list[start];
          int i = 0;
          int local = start;
          do {
            _list[local] = _list[++local];
            i++;
          } while (i < end - start);
          _list[end] = startItem;
        }
        // dragging from bottom to top
        else if (start > current) {
          String startItem = _list[start];
          for (int i = start; i > current; i--) {
            _list[i] = _list[i - 1];
          }
          _list[current] = startItem;
        }
        setState(() {});
      },
    ),
  );
}

我正在使用Flutter的本机ReorderableListView小部件,但我想将列表分为3个可扩展类别;每个类别都有自己的标头/ ExpansionTile,不能像其他ListTiles一样拖动。

有没有办法仅使用本机Flutter小部件来做到这一点?

0 个答案:

没有答案