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.
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.
The allowedButtonsFilter argument only gives this recognizer the
ability to limit the buttons it accepts. It does not provide the
ability to recognize any buttons beyond the ones it already accepts:
kPrimaryButton, kSecondaryButton or kTertiaryButton. Therefore, a
combined value of kPrimaryButton & kSecondaryButton
would be ignored,
but kPrimaryButton | kSecondaryButton
would be allowed, as long as
only one of them is selected at a time.
See also:
- GestureDetector.onTap, which uses this recognizer.
- MultiTapGestureRecognizer
- Inheritance
Constructors
-
TapGestureRecognizer({Object? debugOwner, Set<
PointerDeviceKind> ? supportedDevices, AllowedButtonsFilter allowedButtonsFilter = _defaultButtonAcceptBehavior}) - Creates a tap gesture recognizer.
Properties
- allowedButtonsFilter → AllowedButtonsFilter
-
Called when interaction starts. This limits the dragging behavior
for custom clicks (such as scroll click). Its parameter comes
from PointerEvent.buttons.
finalinherited
- deadline → Duration?
-
If non-null, the recognizer will call didExceedDeadline after this
amount of time has elapsed since starting to track the primary pointer.
finalinherited
- debugDescription → String
-
Returns a very short pretty description of the gesture that the
recognizer looks for, like 'tap' or 'horizontal drag'.
no setteroverride
- debugOwner → Object?
-
The recognizer's owner.
finalinherited
- gestureSettings ↔ DeviceGestureSettings?
-
Optional device specific configuration for device gestures that will
take precedence over framework defaults.
getter/setter pairinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- initialPosition → OffsetPair?
-
The location at which the primary pointer contacted the screen.
no setterinherited
- onSecondaryTap ↔ GestureTapCallback?
-
A pointer has stopped contacting the screen, which is recognized as a tap
of a secondary button.
getter/setter pair
- onSecondaryTapCancel ↔ GestureTapCancelCallback?
-
A pointer that previously triggered onSecondaryTapDown will not end up
causing a tap.
getter/setter pair
- 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.
getter/setter pair
- onSecondaryTapUp ↔ GestureTapUpCallback?
-
A pointer has stopped contacting the screen at a particular location,
which is recognized as a tap of a secondary button.
getter/setter pair
- onTap ↔ GestureTapCallback?
-
A pointer has stopped contacting the screen, which is recognized as a tap
of a primary button.
getter/setter pair
- onTapCancel ↔ GestureTapCancelCallback?
-
A pointer that previously triggered onTapDown will not end up causing
a tap.
getter/setter pair
- onTapDown ↔ GestureTapDownCallback?
-
A pointer has contacted the screen at a particular location with a primary
button, which might be the start of a tap.
getter/setter pair
- onTapUp ↔ GestureTapUpCallback?
-
A pointer has stopped contacting the screen at a particular location,
which is recognized as a tap of a primary button.
getter/setter pair
- onTertiaryTapCancel ↔ GestureTapCancelCallback?
-
A pointer that previously triggered onTertiaryTapDown will not end up
causing a tap.
getter/setter pair
- 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.
getter/setter pair
- onTertiaryTapUp ↔ GestureTapUpCallback?
-
A pointer has stopped contacting the screen at a particular location,
which is recognized as a tap of a tertiary button.
getter/setter pair
- postAcceptSlopTolerance → double?
-
The maximum distance in logical pixels the gesture is allowed to drift
after the gesture has been accepted.
finalinherited
- 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.
finalinherited
- primaryPointer → int?
-
The ID of the primary pointer this recognizer is tracking.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- state → GestureRecognizerState
-
The current state of the recognizer.
no setterinherited
-
supportedDevices
↔ Set<
PointerDeviceKind> ? -
The kind of devices that are allowed to be recognized as provided by
supportedDevices
in the constructor, or the currently deprecatedkind
. These cannot both be set. If both are null, events from all device kinds will be tracked and recognized.getter/setter pairinherited - team ↔ GestureArenaTeam?
-
The team that this recognizer belongs to, if any.
getter/setter pairinherited
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
-
addAllowedPointerPanZoom(
PointerPanZoomStartEvent event) → void -
Registers a new pointer pan/zoom 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
-
addPointerPanZoom(
PointerPanZoomStartEvent event) → void -
Registers a new pointer pan/zoom 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.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.
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
-
handleNonAllowedPointerPanZoom(
PointerPanZoomStartEvent event) → void -
Handles a pointer pan/zoom 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.
override
-
handleTapDown(
{required PointerDownEvent down}) → void -
A pointer has contacted the screen, which might be the start of a tap.
override
-
handleTapUp(
{required PointerDownEvent down, required PointerUpEvent up}) → void -
A pointer has stopped contacting the screen, which is recognized as a tap.
override
-
invokeCallback<
T> (String name, RecognizerCallback< T> callback, {String debugReport()?}) → T? -
Invoke a callback provided by the application, catching and logging any
exceptions.
inherited
-
isPointerAllowed(
PointerDownEvent event) → bool -
Checks whether or not a pointer is allowed to be tracked by this recognizer.
override
-
isPointerPanZoomAllowed(
PointerPanZoomStartEvent event) → bool -
Checks whether or not a pointer pan/zoom is allowed to be tracked by this recognizer.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent 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.
inherited
-
startTrackingPointer(
int pointer, [Matrix4? transform]) → void -
Causes events related to the given pointer ID to be routed to this recognizer.
inherited
-
stopTrackingIfPointerNoLongerDown(
PointerEvent event) → void -
Stops tracking the pointer associated with the given event if the event is
a PointerUpEvent or a PointerCancelEvent event.
inherited
-
stopTrackingPointer(
int pointer) → void -
Stops events related to the given pointer ID from being routed to this recognizer.
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