You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
samples/experimental/context_menus
Justin McCandless 4ee2002665
Use `pumpAndSettle` after `dragUntilVisible` to avoid flakes in context_menu tests (#1588)
2 years ago
..
android Custom context menu example (#1463) 2 years ago
ios Custom context menu example (#1463) 2 years ago
lib Update CI project list (#1583) 2 years ago
linux Custom context menu example (#1463) 2 years ago
macos Custom context menu example (#1463) 2 years ago
screenshots Fill out the README, and add screenshots (#1555) 2 years ago
test Use `pumpAndSettle` after `dragUntilVisible` to avoid flakes in context_menu tests (#1588) 2 years ago
web Custom context menu example (#1463) 2 years ago
windows Custom context menu example (#1463) 2 years ago
.gitignore Custom context menu example (#1463) 2 years ago
.metadata Custom context menu example (#1463) 2 years ago
README.md Another context menus example: custom menu (#1577) 2 years ago
analysis_options.yaml `experimental/context_menus`: Update `analysis_options.yaml` (#1579) 2 years ago
pubspec.yaml Custom context menu example (#1463) 2 years ago

README.md

Custom Context Menus

This sample shows how to create and customize cross-platform context menus, such as the text selection toolbar on mobile or the right click menu on desktop.

Cascading example screenshot Custom button example screenshot Email example screenshot Widget example screenshot

Running the sample

Just run flutter run in the same directory as this README file.

Currently, most of the examples in this demo do not support web, because Flutter uses the browser's built-in context menu instead.

The examples

Anywhere

Shows how to create a context menu in the parts of an app that don't related to text selection. For example, a menu in a desktop app that shows when the background of the app is right clicked.

Cascading menus

Shows how to create a context menu with cascading submenus using SubmenuButton.

Custom buttons

Shows how to customize the default buttons in the existing context menus.

Custom menu

Shows how to use any custom widgets as the menu itself, including the option to keep the default buttons.

Default values

Demonstrates how the contextMenuBuilder property works with various possible values.

Email button

Shows how to create an "email" button in the default context menu that shows only when an email address is selected.

Field types

Shows how context menus work in the various different field widgets: EditableText, TextField, and CupertinoTextField.

Global selection

Shows how to create a custom context menu in non-editable selection with SelectionArea.

On a widget

Shows how to make a widget show a context menu on right click or long press, in this case an Image widget.

Modified action

Shows how to modify an existing button so that a custom action is performed when it is tapped.

Reordered buttons

Shows how to change the order of the default buttons.