createDragTarget method

dynamic createDragTarget({
  1. dynamic offset,
  2. dynamic context,
  3. dynamic view,
})

Implementation

createDragTarget({offset, context, view}) {
  myLogAll('createDragTarget');
  removeOverlay();

  overlayEntry = OverlayEntry(builder: (context) {
    bool isLeft = true;
    if (offset.dx + 100 > MediaQuery.of(context).size.width / 2) {
      isLeft = false;
    }
    double maxY = MediaQuery.of(context).size.height - 100;

    return Positioned(
        top: offset.dy < 50
            ? 50
            : offset.dy < maxY
                ? offset.dy
                : maxY,
        left: isLeft ? 0 : null,
        right: isLeft ? null : 0,
        child: DragTarget(
            onWillAcceptWithDetails: (data) {
              return true;
            },
            onAcceptWithDetails: (data) {},
            onLeave: (data) {},
            builder: (BuildContext context, List incoming, List rejected) {
              return buildDraggable(context, view);
            }));
  });
  Overlay.of(context).insert(overlayEntry!);
}