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'.
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
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
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
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
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
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
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


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