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.
Pass items to specify the buttons that will appear in the menu. Any items without a title will be given a default title from WidgetsLocalizations.
By default, items will be set to the result of getDefaultItems. This method considers the state of the EditableTextState so that, for example, it will only include IOSSystemContextMenuItemCopy if there is currently a selection to copy.
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, List<
IOSSystemContextMenuItem> ? items}) -
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
-
items
→ List<
IOSSystemContextMenuItem> -
A list of the items to be displayed in the system context menu.
final
- 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
-
getDefaultItems(
EditableTextState editableTextState) → List< IOSSystemContextMenuItem> - The default items for the given EditableTextState.
-
isSupported(
BuildContext context) → bool - Whether the current device supports showing the system context menu.