Flutter Draggable拖动小部件

可以拖动到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数据'),
    ),
  ),
)

效果图

完整代

查看完整代码

发布了86 篇原创文章 · 获赞 166 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/ruoshui_t/article/details/100592812