TapGestureRecognizer class

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 (q.v.).

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.

The lifecycle of events for a tap gesture is as follows:

  • onTapDown, which triggers after a short timeout (deadline) even if the gesture has not won its arena yet.
  • onTapUp and onTap, which trigger when the pointer is released if the gesture wins the arena.
  • onTapCancel, which triggers instead of onTapUp and onTap in the case of the gesture not winning the arena.

See also:



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


debugDescription String
Returns a very short pretty description of the gesture that the recognizer looks for, like 'tap' or 'horizontal drag'.
read-only, override
onTap GestureTapCallback
A tap has occurred. [...]
read / write
onTapCancel GestureTapCancelCallback
The pointer that previously triggered onTapDown will not end up causing a tap. [...]
read / write
onTapDown GestureTapDownCallback
A pointer that might cause a tap has contacted the screen at a particular location. [...]
read / write
onTapUp GestureTapUpCallback
A pointer that will trigger a tap has stopped contacting the screen at a particular location. [...]
read / write
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
debugOwner Object
The recognizer's owner. [...]
final, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
initialPosition Offset
The global location at which the primary pointer contacted the screen.
read / write, inherited
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 / write, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
state GestureRecognizerState
The current state of the recognizer. [...]
read / write, inherited
team GestureArenaTeam
The team that this recognizer belongs to, if any. [...]
read / write, inherited


acceptGesture(int pointer) → void
Called when this member wins the arena for the given pointer id.
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node. [...]
didExceedDeadline() → void
Override to be notified when deadline is exceeded. [...]
handlePrimaryPointer(PointerEvent event) → void
Override to provide behavior for the primary pointer when the gesture is still possible.
rejectGesture(int pointer) → void
Called when this member loses the arena for the given pointer id.
resolve(GestureDisposition disposition) → void
Resolves this recognizer's participation in each gesture arena with the given disposition.
addPointer(PointerDownEvent event) → void
Registers a new pointer that might be relevant to this gesture detector. [...]
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children. [...]
didStopTrackingLastPointer(int pointer) → void
Called when the number of pointers this recognizer is tracking changes from one to zero. [...]
dispose() → void
Releases any resources used by the object. [...]
handleEvent(PointerEvent event) → void
Called when a pointer event is routed to this recognizer.
invokeCallback<T>(String name, RecognizerCallback<T> callback, { String debugReport() }) → T
Invoke a callback provided by the application, catching and logging any exceptions. [...]
@protected, inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
startTrackingPointer(int pointer) → 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. [...]
toString({DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a string representation of this object.
toStringDeep({String prefixLineOne: '', String prefixOtherLines, DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a string representation of this node and its descendants. [...]
toStringShallow({String joiner: ', ', DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a one-line detailed description of the object. [...]
toStringShort() String
A brief description of this object, usually just the runtimeType and the hashCode. [...]


operator ==(dynamic other) bool
The equality operator. [...]