onLongPressEnd method

GestureDetector onLongPressEnd(
  1. GestureLongPressEndCallback onLongPressEnd, {
  2. HitTestBehavior? behavior,
  3. bool excludeFromSemantics = false,
  4. DragStartBehavior dragStartBehavior = DragStartBehavior.start,
  5. bool trackpadScrollCausesScale = false,
  6. Offset trackpadScrollToScaleFactor = kDefaultTrackpadScrollToScaleFactor,
  7. Set<PointerDeviceKind>? supportedDevices,
})

Wraps the widget in a GestureDetector that responds to long press end events.

This method is called when a long press gesture ends, providing detailed information about how the gesture concluded. It's useful for implementing complex long press interactions with velocity or position-based completion.

Parameters:

  • onLongPressEnd: The callback to execute when a long press ends. Provides LongPressEndDetails with information about the gesture end.
  • behavior: How the gesture detector should behave during hit testing.
  • excludeFromSemantics: Whether to exclude from semantic tree. Defaults to false.
  • dragStartBehavior: When drag gestures should start. Defaults to DragStartBehavior.start.
  • trackpadScrollCausesScale: Whether trackpad scrolling causes scaling. Defaults to false.
  • trackpadScrollToScaleFactor: Scale factor for trackpad scroll conversion.
  • supportedDevices: Set of supported pointer device kinds.

Returns a GestureDetector widget that responds to long press end events.

Example:

Container(
  child: Text('Long press with details'),
).onLongPressEnd((details) {
  print('Long press ended at: ${details.localPosition}');
  // Handle detailed long press completion
});

Implementation

GestureDetector onLongPressEnd(
  GestureLongPressEndCallback onLongPressEnd, {
  HitTestBehavior? behavior,
  bool excludeFromSemantics = false,
  DragStartBehavior dragStartBehavior = DragStartBehavior.start,
  bool trackpadScrollCausesScale = false,
  Offset trackpadScrollToScaleFactor = kDefaultTrackpadScrollToScaleFactor,
  Set<PointerDeviceKind>? supportedDevices,
}) {
  return GestureDetector(
    onLongPressEnd: onLongPressEnd,
    behavior: behavior,
    excludeFromSemantics: excludeFromSemantics,
    dragStartBehavior: dragStartBehavior,
    trackpadScrollCausesScale: trackpadScrollCausesScale,
    trackpadScrollToScaleFactor: trackpadScrollToScaleFactor,
    supportedDevices: supportedDevices,
    child: this,
  );
}