GestureDetector class
A widget that detects gestures.
Attempts to recognize gestures that correspond to its non-null callbacks.
If this widget has a child, it defers to that child for its sizing behavior. If it does not have a child, it grows to fit the parent instead.
By default a GestureDetector with an invisible child ignores touches; this behavior can be controlled with behavior.
GestureDetector also listens for accessibility events and maps them to the callbacks. To ignore accessibility events, set excludeFromSemantics to true.
See flutter.io/gestures/ for additional information.
Material design applications typically react to touches with ink splash effects. The InkWell class implements this effect and can be used in place of a GestureDetector for handling taps.
_lights
field:
GestureDetector(
onTap: () {
setState(() { _lights = true; });
},
child: Container(
color: Colors.yellow,
child: Text('TURN LIGHTS ON'),
),
)
Debugging
To see how large the hit test box of a GestureDetector is for debugging purposes, set debugPaintPointersEnabled to true.
- Inheritance
- Object
- Diagnosticable
- DiagnosticableTree
- Widget
- StatelessWidget
- GestureDetector
Constructors
- GestureDetector({Key key, Widget child, GestureTapDownCallback onTapDown, GestureTapUpCallback onTapUp, GestureTapCallback onTap, GestureTapCancelCallback onTapCancel, GestureTapCallback onDoubleTap, GestureLongPressCallback onLongPress, GestureLongPressUpCallback onLongPressUp, GestureDragDownCallback onVerticalDragDown, GestureDragStartCallback onVerticalDragStart, GestureDragUpdateCallback onVerticalDragUpdate, GestureDragEndCallback onVerticalDragEnd, GestureDragCancelCallback onVerticalDragCancel, GestureDragDownCallback onHorizontalDragDown, GestureDragStartCallback onHorizontalDragStart, GestureDragUpdateCallback onHorizontalDragUpdate, GestureDragEndCallback onHorizontalDragEnd, GestureDragCancelCallback onHorizontalDragCancel, GestureDragDownCallback onPanDown, GestureDragStartCallback onPanStart, GestureDragUpdateCallback onPanUpdate, GestureDragEndCallback onPanEnd, GestureDragCancelCallback onPanCancel, GestureScaleStartCallback onScaleStart, GestureScaleUpdateCallback onScaleUpdate, GestureScaleEndCallback onScaleEnd, HitTestBehavior behavior, bool excludeFromSemantics: false })
- Creates a widget that detects gestures. [...]
Properties
- behavior → HitTestBehavior
-
How this gesture detector should behave during hit testing. [...]
final
- child → Widget
-
The widget below this widget in the tree. [...]
final
- excludeFromSemantics → bool
-
Whether to exclude these gestures from the semantics tree. For
example, the long-press gesture for showing a tooltip is
excluded because the tooltip itself is included in the semantics
tree directly and so having a gesture to show it would result in
duplication of information.
final
- onDoubleTap → GestureTapCallback
-
The user has tapped the screen at the same location twice in quick
succession.
final
- onHorizontalDragCancel → GestureDragCancelCallback
-
The pointer that previously triggered onHorizontalDragDown did not
complete.
final
- onHorizontalDragDown → GestureDragDownCallback
-
A pointer has contacted the screen and might begin to move horizontally.
final
- onHorizontalDragEnd → GestureDragEndCallback
-
A pointer that was previously in contact with the screen and moving
horizontally is no longer in contact with the screen and was moving at a
specific velocity when it stopped contacting the screen.
final
- onHorizontalDragStart → GestureDragStartCallback
-
A pointer has contacted the screen and has begun to move horizontally.
final
- onHorizontalDragUpdate → GestureDragUpdateCallback
-
A pointer that is in contact with the screen and moving horizontally has
moved in the horizontal direction.
final
- onLongPress → GestureLongPressCallback
-
A pointer has remained in contact with the screen at the same location for
a long period of time.
final
- onLongPressUp → GestureLongPressUpCallback
-
A pointer that has triggered a long-press has stopped contacting the screen.
final
- onPanCancel → GestureDragCancelCallback
-
The pointer that previously triggered onPanDown did not complete.
final
- onPanDown → GestureDragDownCallback
-
A pointer has contacted the screen and might begin to move.
final
- onPanEnd → GestureDragEndCallback
-
A pointer that was previously in contact with the screen and moving
is no longer in contact with the screen and was moving at a specific
velocity when it stopped contacting the screen.
final
- onPanStart → GestureDragStartCallback
-
A pointer has contacted the screen and has begun to move.
final
- onPanUpdate → GestureDragUpdateCallback
-
A pointer that is in contact with the screen and moving has moved again.
final
- onScaleEnd → GestureScaleEndCallback
-
The pointers are no longer in contact with the screen.
final
- onScaleStart → GestureScaleStartCallback
-
The pointers in contact with the screen have established a focal point and
initial scale of 1.0.
final
- onScaleUpdate → GestureScaleUpdateCallback
-
The pointers in contact with the screen have indicated a new focal point
and/or scale.
final
- onTap → GestureTapCallback
-
A tap has occurred. [...]
final
- onTapCancel → GestureTapCancelCallback
-
The pointer that previously triggered onTapDown will not end up causing
a tap. [...]
final
- onTapDown → GestureTapDownCallback
-
A pointer that might cause a tap has contacted the screen at a particular
location. [...]
final
- onTapUp → GestureTapUpCallback
-
A pointer that will trigger a tap has stopped contacting the screen at a
particular location. [...]
final
- onVerticalDragCancel → GestureDragCancelCallback
-
The pointer that previously triggered onVerticalDragDown did not
complete.
final
- onVerticalDragDown → GestureDragDownCallback
-
A pointer has contacted the screen and might begin to move vertically.
final
- onVerticalDragEnd → GestureDragEndCallback
-
A pointer that was previously in contact with the screen and moving
vertically is no longer in contact with the screen and was moving at a
specific velocity when it stopped contacting the screen.
final
- onVerticalDragStart → GestureDragStartCallback
-
A pointer has contacted the screen and has begun to move vertically.
final
- onVerticalDragUpdate → GestureDragUpdateCallback
-
A pointer that is in contact with the screen and moving vertically has
moved in the vertical direction.
final
- hashCode → int
-
The hash code for this object. [...]
read-only, inherited
- key → Key
-
Controls how one widget replaces another widget in the tree. [...]
final, inherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget. [...]
override
-
createElement(
) → StatelessElement -
Creates a StatelessElement to manage this widget's location in the tree. [...]
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children. [...]
@protected, inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node. [...]
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
inherited
-
toDiagnosticsNode(
{String name, DiagnosticsTreeStyle style }) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by toStringDeep. [...]
inherited
-
toString(
{DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String -
Returns 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 short, textual description of this widget.
inherited
Operators
-
operator ==(
dynamic other) → bool -
The equality operator. [...]
inherited