BaseTapGestureRecognizer class abstract
A base class for gesture recognizers that recognize 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.
A tap is defined as a sequence of events that starts with a down, followed
by optional moves, then ends with an up. All move events must contain the
same buttons
as the down event, and must not be too far from the initial
position. The gesture is rejected on any violation, a cancel event, or
if any other recognizers wins the arena. It is accepted only when it is the
last member of the arena.
The BaseTapGestureRecognizer 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 BaseTapGestureRecognizer can not be directly used, since it does not define which buttons to accept, or what to do when a tap happens. If you want to build a custom tap recognizer, extend this class by overriding isPointerAllowed and the handler methods.
See also:
- TapGestureRecognizer, a ready-to-use tap recognizer that recognizes taps of the primary button and taps of the secondary button.
- ModalBarrier, a widget that uses a custom tap recognizer that accepts any buttons.
- Inheritance
-
- Object
- GestureArenaMember
- GestureRecognizer
- OneSequenceGestureRecognizer
- PrimaryPointerGestureRecognizer
- BaseTapGestureRecognizer
- Implementers
Constructors
-
BaseTapGestureRecognizer({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
- 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.
override
-
addAllowedPointer(
PointerDownEvent event) → void -
Registers a new pointer that's been checked to be allowed by this gesture
recognizer.
override
-
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.
override
-
didExceedDeadline(
) → void -
Override to be notified when deadline is exceeded.
override
-
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.
override
-
handleTapCancel(
{required PointerDownEvent down, PointerCancelEvent? cancel, required String reason}) → void - A pointer that previously triggered handleTapDown will not end up causing a tap.
-
handleTapDown(
{required PointerDownEvent down}) → void - A pointer has contacted the screen, which might be the start of a tap.
-
handleTapUp(
{required PointerDownEvent down, required PointerUpEvent up}) → void - A pointer has stopped contacting the screen, which is recognized as a tap.
-
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.
inherited
-
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.
override
-
resolve(
GestureDisposition disposition) → void -
Resolves this recognizer's participation in each gesture arena with the
given disposition.
override
-
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.
override
-
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, int wrapWidth = 65}) → 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