可以拖动到DragTarget的小部件。 DragTarget是接收Draggable的部件。DragTarget和Draggable结合使用 完整介绍
参数详解
| 属性 | 说明 |
| child | 子控件 |
| feedback | 当拖动正在进行时,要在指针下显示的小部件。(拖拽时 跟着滑动的部件) |
| data | 拖拽到DragTarget所传递的数据 |
| axis | 限定移动方向,不指定此属性指 全方位推拽 |
| childWhenDragging | 当一个或多个拖动正在进行时,要显示的小部件,而不是子部件。 |
| feedbackOffset | 官方:反馈偏移量可用于设置命中测试目标点 我并没有测出其作用,如有知道如何使用者望告知,多谢。 默认Offset.zero |
| dragAnchor | 在拖动期间,此小部件应该锚定在何处 默认DragAnchor.child |
| affinity | 此小部件如何与其他手势竞争以启动拖动, 如垂直滑动父组件使用Axis.horizontal竞争 如水平滑动父组件使用Axis.vertical竞争 |
| maxSimultaneousDrags | 同时支持多少个拖动 |
| onDragStarted | 拖动开始时调用 |
| onDraggableCanceled | 对方拒绝接收时调用 |
| onDragEnd | 拖动结束时调用 |
| onDragCompleted | Dragragable被删除并被DragTarget接受时调用。 |
| ignoringFeedbackSemantics | 在构建语义树时,是否忽略了feedback小部件的语义(视障碍) 默认true |
代码示例
Draggable(
data: '我是Draggable数据',
// affinity:Axis.vertical,
feedbackOffset: Offset.fromDirection(1.0),
child: Container(
alignment: Alignment.center,
height: 150,
width: 150,
color: Colors.blue,
child: Text('我是Draggable数据'),
),
feedback: Material(
child: Container(
alignment: Alignment.center,
height: 150,
width: 150,
color: Colors.blue,
child: Text('我是Draggable数据'),
),
),
)
效果图

完整代码
查看完整代码
Flutter拖拽组件详解
本文深入解析Flutter中Draggable与DragTarget组件的使用方法及参数详解,包括子控件、拖拽数据、拖动方向等关键特性,通过实例演示如何构建交互式的拖放功能。
879





