SystemContextMenu class
Displays the system context menu on top of the Flutter view.
Currently, only supports iOS 16.0 and above and displays nothing on other platforms.
The context menu is the menu that appears, for example, when doing text selection. Flutter typically draws this menu itself, but this class deals with the platform-rendered context menu instead.
There can only be one system context menu visible at a time. Building this widget when the system context menu is already visible will hide the old one and display this one. A system context menu that is hidden is informed via onSystemHide.
To check if the current device supports showing the system context menu, call isSupported.
To create a local project with this code sample, run:
flutter create --sample=widgets.SystemContextMenu.1 mysample
See also:
- SystemContextMenuController, which directly controls the hiding and showing of the system context menu.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- SystemContextMenu
Constructors
- SystemContextMenu.editableText({Key? key, required EditableTextState editableTextState})
-
Creates an instance of SystemContextMenu for the field indicated by the
given EditableTextState.
factory
Properties
- anchor → Rect
-
The Rect that the context menu should point to.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- onSystemHide → VoidCallback?
-
Called when the system hides this context menu.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< SystemContextMenu> -
Creates the mutable state for this widget at a given location in the tree.
override
-
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
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent 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
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
isSupported(
BuildContext context) → bool - Whether the current device supports showing the system context menu.