该包为 GridView.builder 添加拖拽功能,支持 GridView.build 的所有属性,几行代码即可轻松实现。
DraggableGridViewBuilder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
childAspectRatio: MediaQuery.of(context).size.width / (MediaQuery.of(context).size.height / 3),
),
children: _listOfDraggableGridItem,
dragCompletion: this,
isOnlyLongPress: false,
dragFeedback: this,
dragPlaceholder: this,
);
控制 GridView 中子对象布局的代理。
该属性包含 [DraggableGridItem] 列表,用来显示 GridView.builder 中可拖拽的小部件。
[DraggableGridItem] 小部件支持 isDraggable
参数,用于开关拖拽功能。
该属性为拖拽完成的逻辑回调函数。你需要自行实现并按需保存排序后的新列表。
该布尔属性指示拖拽识别手势为长按拖拽(默认)还是短按拖拽。
该属性为拖拽反馈的部件回调函数。如自行实现需返回一个 Widget。 详情见 Draggable
该属性为拖拽过程中的部件回调函数。如自行实现需返回一个 Widget。 详情见 Draggable
DraggableGridViewBuilder
类支持 GridView.builder
的全部属性参数。
拖拽排序的结果以 list 形式返回,如需保存请自行实现。