ContextMenuController class

Builds and manages a context menu at a given location.

There can only ever be one context menu shown at a given time in the entire app. Calling show on one instance of this class will hide any other shown instances.

This example shows how to use a GestureDetector to show a context menu anywhere in a widget subtree that receives a right click or long press.
link

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

See also:

  • BrowserContextMenu, which allows the browser's context menu on web to be disabled and Flutter-rendered context menus to appear.

Constructors

ContextMenuController({VoidCallback? onRemove})
Creates a context menu that can be shown with show.

Properties

hashCode int
The hash code for this object.
read-onlyinherited
isShown bool
True if and only if this menu is currently being shown.
read-only
onRemove VoidCallback?
Called when this menu is removed.
final
runtimeType Type
A representation of the runtime type of the object.
read-onlyinherited

Methods

markNeedsBuild() → void
Cause the underlying OverlayEntry to rebuild during the next pipeline flush.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
remove() → void
Remove this menu from the UI.
show({required BuildContext context, required WidgetBuilder contextMenuBuilder, Widget? debugRequiredFor}) → void
Shows the given context menu.
toString() String
A string representation of this object.
inherited

Operators

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

Static Methods

removeAny() → void
Remove the currently shown context menu from the UI.