MouseRegion class Null safety
A widget that tracks the movement of mice.
MouseRegion is used when it is needed to compare the list of objects that a mouse pointer is hovering over between this frame and the last frame. This means entering events, exiting events, and mouse cursors.
To listen to general pointer events, use Listener, or more preferably, GestureDetector.
Layout behavior
See BoxConstraints for an introduction to box layout models.
If it has a child, this widget defers to the child for sizing behavior. If it does not have a child, it grows to fit the parent instead.
This example makes a Container react to being entered by a mouse
pointer, showing a count of the number of entries and exits.
To create a local project with this code sample, run:
flutter create --sample=widgets.MouseRegion.1 mysample
flutter create --sample=widgets.MouseRegion.1 mysample
See also:
- Listener, a similar widget that tracks pointer events when the pointer has buttons pressed.
- Inheritance
Constructors
- MouseRegion({Key? key, PointerEnterEventListener? onEnter, PointerExitEventListener? onExit, PointerHoverEventListener? onHover, MouseCursor cursor = MouseCursor.defer, bool opaque = true, HitTestBehavior? hitTestBehavior, Widget? child})
-
Creates a widget that forwards mouse events to callbacks.
const
Properties
- child → Widget?
-
The widget below this widget in the tree.
finalinherited
- cursor → MouseCursor
-
The mouse cursor for mouse pointers that are hovering over the region.
final
- hashCode → int
- The hash code for this object.
- hitTestBehavior → HitTestBehavior?
-
How to behave during hit testing.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- onEnter → PointerEnterEventListener?
-
Triggered when a mouse pointer has entered this widget.
final
- onExit → PointerExitEventListener?
-
Triggered when a mouse pointer has exited this widget when the widget is
still mounted.
final
- onHover → PointerHoverEventListener?
-
Triggered when a pointer moves into a position within this widget without
buttons pressed.
final
- opaque → bool
-
Whether this widget should prevent other MouseRegions visually behind it
from detecting the pointer.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
read-onlyinherited
Methods
-
createElement(
) → SingleChildRenderObjectElement -
RenderObjectWidgets always inflate to a RenderObjectElement subclass.
inherited
-
createRenderObject(
BuildContext context) → RenderMouseRegion -
Creates an instance of the RenderObject class that this
RenderObjectWidget represents, using the configuration described by this
RenderObjectWidget.
override
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of
DiagnosticsNode
objects describing this node's children.protected">@protectedinherited -
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
override
-
didUnmountRenderObject(
covariant RenderObject renderObject) → void -
A render object previously associated with this widget has been removed
from the tree. The given RenderObject will be of the same type as
returned by this object's createRenderObject.
protected">@protectedinherited
-
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 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 short, textual description of this widget.
inherited
-
updateRenderObject(
BuildContext context, covariant RenderMouseRegion renderObject) → void -
Copies the configuration described by this RenderObjectWidget to the
given RenderObject, which will be of the same type as returned by this
object's createRenderObject.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
nonVirtual">@nonVirtualinherited