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.

This example shows how to create a TextField that uses the system context menu where supported and does not show a system notification when the user presses the "Paste" button.
link

To create a local project with this code sample, run:
flutter create --sample=widgets.SystemContextMenu.1 mysample

See also:

Inheritance

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, 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 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.