Создание папки в flutter, как в лаунчере Android

#flutter #dart

Вопрос:

Я создаю лаунчер для Android. И я не понимаю, как создать папку при перетаскивании одного элемента в другой. Я использую переупорядочиваемые файлы для создания сетки перетаскивания моего кода:

   final double _iconSize = 80;
  late List<Widget> _tiles;

  @override
  void initState() {
    super.initState();
    v();
  }

  void v() {
    _tiles = <Widget>[
      Icon(Icons.filter_1, size: _iconSize),
      Icon(Icons.filter_2, size: _iconSize),
      Icon(Icons.filter_3, size: _iconSize),
      Icon(Icons.filter_4, size: _iconSize),
      Icon(Icons.filter_5, size: _iconSize),
      Icon(Icons.filter_6, size: _iconSize),
      Icon(Icons.filter_7, size: _iconSize),
      Icon(Icons.filter_8, size: _iconSize),
      Icon(Icons.filter_9, size: _iconSize),
    ];
  }

  @override
  Widget build(BuildContext context) {
    void _onReorder(int oldIndex, int newIndex) {
      setState(() {
        Widget row = _tiles.removeAt(oldIndex);
        _tiles.insert(newIndex, row);
      });
    }

    var wrap = ReorderableWrap(
        spacing: 7.0,
        runSpacing: 3.0,
        padding: const EdgeInsets.all(8),
        children: _tiles,
        onReorder: _onReorder,
        onNoReorder: (int index) {
          
        },
        onReorderStarted: (int index) {
          
        });

    return SingleChildScrollView(
      child: wrap,
    );
  }
}
 

Как создать папку при перетаскивании одного элемента на другой? Так что можно создать много папок.