MaterialStateMouseCursor class Null safety

Defines a MouseCursor whose value depends on a set of MaterialStates which represent the interactive state of a component.

This kind of MouseCursor is useful when the set of interactive actions a widget supports varies with its state. For example, a mouse pointer hovering over a disabled ListTile should not display, since a disabled list tile doesn't respond to mouse clicks. ListTile's default mouse cursor is a MaterialStateMouseCursor.clickable, which resolves to SystemMouseCursors.basic when the button is disabled.

To use a MaterialStateMouseCursor, you should create a subclass of MaterialStateMouseCursor and implement the abstract resolve method.

This example defines a mouse cursor that resolves to SystemMouseCursors.forbidden when its widget is disabled.
To create a local project with this code sample, run:
flutter create --sample=material.MaterialStateMouseCursor.1 mysample

This class should only be used for parameters which are documented to take MaterialStateMouseCursor, otherwise only the default state will be used.

See also:

Implemented types


Abstract const constructor. This constructor enables subclasses to provide const constructors so that they can be used in const expressions.


debugDescription String
A very short description of the mouse cursor.
read-only, inherited
hashCode int
The hash code for this object.
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited


createSession(int device) MouseCursorSession
Associate a pointing device to this cursor.
@protected, override
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
@mustCallSuper, @protected, inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
resolve(Set<MaterialState> states) MouseCursor
Returns a MouseCursor that's to be used when a Material component is in the specified state.
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
toString({DiagnosticLevel minLevel =}) String
A string representation of this object.
toStringShort() String
A brief description of this object, usually just the runtimeType and the hashCode.


operator ==(Object other) bool
The equality operator.


clickable → const MaterialStateMouseCursor
A mouse cursor for clickable material widgets, which resolves differently when the widget is disabled.
_EnabledAndDisabledMouseCursor(enabledCursor:, disabledCursor: SystemMouseCursors.basic, name: 'clickable')
textable → const MaterialStateMouseCursor
A mouse cursor for material widgets related to text, which resolves differently when the widget is disabled.
_EnabledAndDisabledMouseCursor(enabledCursor: SystemMouseCursors.text, disabledCursor: SystemMouseCursors.basic, name: 'textable')