可以拖动到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数据'),
),
),
)
效果图
完整代码
查看完整代码