draggable_container 1.0.2+1 copy "draggable_container: ^1.0.2+1" to clipboard
draggable_container: ^1.0.2+1 copied to clipboard

outdated

A Very Smooth Draggable Widget Container. Each children is Draggable, Deletable and Fixable. Support SliverGridDelegate!

可以拖动子部件的容器部件 #

A Draggable Widget Container #

可拖动子部件,可删除子部件,可以固定子部件位置 #

Each children is draggable, deletable, fixable. #

截图 / Screenshots #

模式 / Mode #

  • 正常模式 / Normal Mode:

    • 不拦截子部件的手势事件
    • Do not intercept the GestureDetector events of the child widget
    • 不能拖动和删除子部件
    • Can't drag and delete the children widget
  • 编辑模式 / Edit mode:

    • 长按子部件进入编辑模式
    • Long press the children widget to enter the edit mode
    • 进入编辑模式后,不再需要长按来拖动子部件,直接拖动就可以了
    • In the edit mode, you can just drag the tile directly.
    • 在可删除子部件上显示删除按钮
    • Show the delete button on the deletable child widget
    • 拦截所有子部件的手势事件
    • Intercept the child widget gesture event.
    • 可以拖动和删除子部件
    • the children widget can drag and delete.
  • DraggableContainer构造函数的参数 / The DraggableContainer Constructor parameters

    • onChanged(List<T extends DraggableItem> items)
      • 当子项目改变时触发(拖动过后,删除后)
      • Trigger when the items changed(dragged, deleted)
    • onEditModeChanged(bool mode)
      • mode为true则进入了编辑模式,为false则退出了编辑模式.
      • When mode is true then in the draggable mode. If false it mean exited the draggable mode.
    • Future<bool> beforeRemove(T? item, int slotIndex)
      • 删除item的确认事件,返回true删除,返回false不删除
      • The event for confirm to delete a item, if return true then delete, if false then no action.
  • DraggableContainerState的方法 / The DraggableContainerState methods:

    • getter / setter bool editMode

      • 读取或设置编辑模式。
      • get or set the edit mode.
    • List<T extends DraggableItem> items

      • 项目列表。
      • Item list.
    • Future<void> addSlot(<T extends DraggableItem>? item)

      • 添加一个新的槽。
      • Add a new slot.
    • Future<T extends DraggableItem> removeSlot(int index)

      • 删除一个槽位,返回item。
      • Remove the slot of index and return the item.
    • removeItem(<T extends DraggableItem> item)

    • removeItemAt(int index)

      • 删除item。
      • Delete item.
    • replaceItem(int index, <T extends DraggableItem>? item)

      • 替换item。
      • Replace item.
25
likes
0
pub points
52%
popularity

Publisher

unverified uploader

A Very Smooth Draggable Widget Container. Each children is Draggable, Deletable and Fixable. Support SliverGridDelegate!

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on draggable_container