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
Brett Morgan 3bafa557f7
Update `sdk` constraint range and update runners (#1706)
2 years ago
..
android Custom context menu example (#1463) 2 years ago
ios Custom context menu example (#1463) 2 years ago
lib Enable the context menu examples on web (#1687) 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 Enable the context menu examples on web (#1687) 2 years ago
analysis_options.yaml Create `analysis_defaults` package (#1654) 2 years ago
pubspec.yaml Update `sdk` constraint range and update runners (#1706) 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.

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.