TapGestureRecognizer class Null safety

Recognizes taps.

Gesture recognizers take part in gesture arenas to enable potential gestures to be disambiguated from each other. This process is managed by a GestureArenaManager.

TapGestureRecognizer considers all the pointers involved in the pointer event sequence as contributing to one gesture. For this reason, extra pointer interactions during a tap sequence are not recognized as additional taps. For example, down-1, down-2, up-1, up-2 produces only one tap on up-1.

TapGestureRecognizer competes on pointer events of kPrimaryButton only when it has at least one non-null onTap* callback, on events of kSecondaryButton only when it has at least one non-null onSecondaryTap* callback, and on events of kTertiaryButton only when it has at least one non-null onTertiaryTap* callback. If it has no callbacks, it is a no-op.

See also:

Inheritance

Constructors

TapGestureRecognizer({Object? debugOwner})
Creates a tap gesture recognizer.

Properties

deadline Duration?
If non-null, the recognizer will call didExceedDeadline after this amount of time has elapsed since starting to track the primary pointer. [...]
final, inherited
debugDescription String
Returns a very short pretty description of the gesture that the recognizer looks for, like 'tap' or 'horizontal drag'.
read-only, override
debugOwner Object?
The recognizer's owner. [...]
final, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
initialPosition OffsetPair?
The location at which the primary pointer contacted the screen. [...]
read-only, inherited
onSecondaryTap GestureTapCallback?
A pointer has stopped contacting the screen, which is recognized as a tap of a secondary button. [...]
read / write
onSecondaryTapCancel GestureTapCancelCallback?
A pointer that previously triggered onSecondaryTapDown will not end up causing a tap. [...]
read / write
onSecondaryTapDown GestureTapDownCallback?
A pointer has contacted the screen at a particular location with a secondary button, which might be the start of a secondary tap. [...]
read / write
onSecondaryTapUp GestureTapUpCallback?
A pointer has stopped contacting the screen at a particular location, which is recognized as a tap of a secondary button. [...]
read / write
onTap GestureTapCallback?
A pointer has stopped contacting the screen, which is recognized as a tap of a primary button. [...]
read / write
onTapCancel GestureTapCancelCallback?
A pointer that previously triggered onTapDown will not end up causing a tap. [...]
read / write
onTapDown GestureTapDownCallback?
A pointer has contacted the screen at a particular location with a primary button, which might be the start of a tap. [...]
read / write
onTapUp GestureTapUpCallback?
A pointer has stopped contacting the screen at a particular location, which is recognized as a tap of a primary button. [...]
read / write
onTertiaryTapCancel GestureTapCancelCallback?
A pointer that previously triggered onTertiaryTapDown will not end up causing a tap. [...]
read / write
onTertiaryTapDown GestureTapDownCallback?
A pointer has contacted the screen at a particular location with a tertiary button, which might be the start of a tertiary tap. [...]
read / write
onTertiaryTapUp GestureTapUpCallback?
A pointer has stopped contacting the screen at a particular location, which is recognized as a tap of a tertiary button. [...]
read / write
postAcceptSlopTolerance double?
The maximum distance in logical pixels the gesture is allowed to drift after the gesture has been accepted. [...]
final, inherited
preAcceptSlopTolerance double?
The maximum distance in logical pixels the gesture is allowed to drift from the initial touch down position before the gesture is accepted. [...]
final, inherited
primaryPointer int?
The ID of the primary pointer this recognizer is tracking. [...]
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
state GestureRecognizerState
The current state of the recognizer. [...]
read-only, inherited
team GestureArenaTeam?
The team that this recognizer belongs to, if any. [...]
read / write, inherited

Methods

acceptGesture(int pointer) → void
Called when this member wins the arena for the given pointer id.
inherited
addAllowedPointer(PointerDownEvent event) → void
Registers a new pointer that's been checked to be allowed by this gesture recognizer. [...]
inherited
addPointer(PointerDownEvent event) → void
Registers a new pointer that might be relevant to this gesture detector. [...]
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children. [...]
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node. [...]
inherited
didExceedDeadline() → void
Override to be notified when deadline is exceeded. [...]
inherited
didExceedDeadlineWithEvent(PointerDownEvent event) → void
Same as didExceedDeadline but receives the event that initiated the gesture. [...]
@protected, inherited
didStopTrackingLastPointer(int pointer) → void
Called when the number of pointers this recognizer is tracking changes from one to zero. [...]
inherited
dispose() → void
Releases any resources used by the object. [...]
inherited
getKindForPointer(int pointer) PointerDeviceKind
For a given pointer ID, returns the device kind associated with it. [...]
@protected, inherited
handleEvent(PointerEvent event) → void
Called when a pointer event is routed to this recognizer. [...]
inherited
handleNonAllowedPointer(PointerDownEvent event) → void
Handles a pointer being added that's not allowed by this recognizer. [...]
inherited
handlePrimaryPointer(PointerEvent event) → void
Override to provide behavior for the primary pointer when the gesture is still possible.
inherited
handleTapCancel({required PointerDownEvent down, PointerCancelEvent? cancel, required String reason}) → void
A pointer that previously triggered handleTapDown will not end up causing a tap. [...]
@protected, override
handleTapDown({required PointerDownEvent down}) → void
A pointer has contacted the screen, which might be the start of a tap. [...]
@protected, override
handleTapUp({required PointerDownEvent down, required PointerUpEvent up}) → void
A pointer has stopped contacting the screen, which is recognized as a tap. [...]
@protected, override
invokeCallback<T>(String name, RecognizerCallback<T> callback, {String debugReport()?}) → T?
Invoke a callback provided by the application, catching and logging any exceptions. [...]
@protected, inherited
isPointerAllowed(PointerDownEvent event) bool
Checks whether or not a pointer is allowed to be tracked by this recognizer.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
rejectGesture(int pointer) → void
Called when this member loses the arena for the given pointer id.
inherited
resolve(GestureDisposition disposition) → void
Resolves this recognizer's participation in each gesture arena with the given disposition.
inherited
resolvePointer(int pointer, GestureDisposition disposition) → void
Resolves this recognizer's participation in the given gesture arena with the given disposition.
@mustCallSuper, @protected, inherited
startTrackingPointer(int pointer, [Matrix4? transform]) → void
Causes events related to the given pointer ID to be routed to this recognizer. [...]
@protected, inherited
stopTrackingIfPointerNoLongerDown(PointerEvent event) → void
Stops tracking the pointer associated with the given event if the event is a PointerUpEvent or a PointerCancelEvent event.
@protected, inherited
stopTrackingPointer(int pointer) → void
Stops events related to the given pointer ID from being routed to this recognizer. [...]
@protected, inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep. [...]
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object. [...]
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants. [...]
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object. [...]
inherited
toStringShort() String
A brief description of this object, usually just the runtimeType and the hashCode. [...]
inherited

Operators

operator ==(Object other) bool
The equality operator. [...]
inherited