返回

Flutter 拖拽组件 Draggable 与 DragTarget 基本使用方法详解

Android

96 图解 Draggable + DragTarget 基本拖拽效果

在 Flutter 中,拖拽功能是通过 Draggable 和 DragTarget 两个小部件实现的。Draggable 小部件允许用户拖动一个可视元素,而 DragTarget 小部件则定义了可视元素的放置位置。

一、Draggable 小部件

  1. 创建 Draggable 小部件
Draggable(
  child: Container(
    color: Colors.blue,
    height: 100,
    width: 100,
  ),
  feedback: Container(
    color: Colors.green,
    height: 100,
    width: 100,
  ),
);
  • child 参数指定了可视元素。
  • feedback 参数指定了拖动时的反馈元素。
  1. Draggable 小部件的属性
  • child :可视元素。
  • feedback :拖动时的反馈元素。
  • onDragStarted :拖动开始时的回调函数。
  • onDragEnd :拖动结束时的回调函数。

二、DragTarget 小部件

  1. 创建 DragTarget 小部件
DragTarget(
  builder: (context, candidateData, rejectedData) {
    return Container(
      color: Colors.red,
      height: 100,
      width: 100,
    );
  },
  onWillAccept: (data) {
    return true;
  },
  onAccept: (data) {
    // 处理拖动元素被放置到目标位置的逻辑。
  },
);
  • builder 参数指定了可视元素。
  • onWillAccept 参数指定了是否接受拖动元素的回调函数。
  • onAccept 参数指定了当拖动元素被放置到目标位置时触发的回调函数。
  1. DragTarget 小部件的属性
  • builder :可视元素。
  • onWillAccept :是否接受拖动元素的回调函数。
  • onAccept :当拖动元素被放置到目标位置时触发的回调函数。

三、使用 Draggable 和 DragTarget 实现基本拖拽效果

  1. 在需要拖拽的元素上放置 Draggable 小部件。
  2. 在需要放置拖拽元素的目标位置放置 DragTarget 小部件。
  3. 在 DragTarget 小部件的 onAccept 回调函数中处理拖动元素被放置到目标位置的逻辑。

四、结语

通过这 96 张详尽的插图,我们已经对 Flutter 拖拽组件 Draggable 和 DragTarget 的基本使用方法有了深入的了解。希望本篇博文能够帮助您轻松掌握拖拽功能的实现,提升移动应用的用户体验。