Flutter:在多个列表或列之间进行排序,拖放

时间:2019-02-10 23:39:21

标签: dart flutter flutter-layout flutter-animation

我一直在研究一些列表排序库,例如flutter_list_drag_and_drop,reorderable_list,flutter_reorderable_list,dragable_flutter_list等,但是所有库都只能使用一个列表。

我想做的事情可以在下图中理解,这正是Trello应用程序具有的功能。

任何图书馆建议或方法?

Drag and Drop

4 个答案:

答案 0 :(得分:3)

我使用boardview flutter插件。

import 'package:boardview/board_item.dart';
import 'package:boardview/board_list.dart';
import 'package:boardview/boardview.dart';
@override
  Widget build(BuildContext context) {

List<BoardList> boardList = List<BoardList>();
List<BoardItem> boardItem = List<BoardItem>();
    boardItem.add(new BoardItem(
      boardList: BoardListState(),
      item: boarditem(),
      test: '1',
    ));

boardList.add(BoardList(
      index: 1,
      items: boardItem,
      header: header()
    ));

Widget header() {
    return Row( ... );}

Widget boarditem() {
    return Card( ... );}

 return BoardView(
      lists: boardList,
    );
}

答案 1 :(得分:0)

  

我一直在研究一些列表排序库,例如flutter_list_drag_and_drop,reorderable_list,flutter_reorderable_list,dragable_flutter_list等,但是所有库都只能使用一个列表。

对!当前所有可用的库只能使用一个列表。

我还有一个名为textbox的插件,该插件基于“数据项”列表

有关更多详细信息,请参阅orderable_stack

另外,您可以参考this链接以获取更多可拖动的实现。

enter image description here enter image description here 注意:当前orderable_stack与Dart 2不兼容

希望这对您有帮助

答案 2 :(得分:0)

如果您仍然找不到好的解决方案,可以使用boardview flutter插件。

它具有与trellos可拖动列表相同的功能。

(P.S。我是它的开发者,我在创建它时很懒,所以没有示例gif的例子)

答案 3 :(得分:0)

只是为了完成这个老问题,对于像我这样的人在 2021 年搜索的情况,这里有一个包,可以管理从一个列表到另一个列表的拖放项目,并自行拖放这些列表。 Flutter package from pub.dev

可在此处找到教程:Tutorial by Johannes Milke