@ -3,7 +3,7 @@
This sample shows how to create and customize cross-platform 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.
such as the text selection toolbar on mobile or the right click menu on desktop.
|  |  |  |  |
|  |  |  |  |
| --- | --- | --- | --- |
| --- | --- | --- | --- |
## Running the sample
## Running the sample
@ -12,46 +12,46 @@ Just run `flutter run` in the same directory as this README file.
## The examples
## The examples
### [Anywhere ](https://github.com/flutter/samples/blob/main/ experimental/ context_menus/lib/anywhere_page.dart)
### [Anywhere ](https://github.com/flutter/samples/blob/main/ context_menus/lib/anywhere_page.dart)
Shows how to create a context menu in the parts of an app that don't related to
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
text selection. For example, a menu in a desktop app that shows when the
background of the app is right clicked.
background of the app is right clicked.
### [Cascading menus ](https://github.com/flutter/samples/blob/main/ experimental/ context_menus/lib/cascading_menu_page.dart)
### [Cascading menus ](https://github.com/flutter/samples/blob/main/ context_menus/lib/cascading_menu_page.dart)
Shows how to create a context menu with cascading submenus using
Shows how to create a context menu with cascading submenus using
[SubmenuButton ](https://master-api.flutter.dev/flutter/material/SubmenuButton-class.html ).
[SubmenuButton ](https://master-api.flutter.dev/flutter/material/SubmenuButton-class.html ).
### [Custom buttons ](https://github.com/flutter/samples/blob/main/ experimental/ context_menus/lib/custom_buttons_page.dart)
### [Custom buttons ](https://github.com/flutter/samples/blob/main/ context_menus/lib/custom_buttons_page.dart)
Shows how to customize the default buttons in the existing context menus.
Shows how to customize the default buttons in the existing context menus.
### [Custom menu ](https://github.com/flutter/samples/blob/main/ experimental/ context_menus/lib/custom_menu_page.dart)
### [Custom menu ](https://github.com/flutter/samples/blob/main/ context_menus/lib/custom_menu_page.dart)
Shows how to use any custom widgets as the menu itself, including the option to
Shows how to use any custom widgets as the menu itself, including the option to
keep the default buttons.
keep the default buttons.
### [Default values ](https://github.com/flutter/samples/blob/main/ experimental/ context_menus/lib/default_values_page.dart)
### [Default values ](https://github.com/flutter/samples/blob/main/ context_menus/lib/default_values_page.dart)
Demonstrates how the
Demonstrates how the
[contextMenuBuilder ](https://master-api.flutter.dev/flutter/material/TextField/contextMenuBuilder.html )
[contextMenuBuilder ](https://master-api.flutter.dev/flutter/material/TextField/contextMenuBuilder.html )
property works with various possible values.
property works with various possible values.
### [Email button ](https://github.com/flutter/samples/blob/main/ experimental/ context_menus/lib/email_button_page.dart)
### [Email button ](https://github.com/flutter/samples/blob/main/ context_menus/lib/email_button_page.dart)
Shows how to create an "email" button in the default context menu that shows
Shows how to create an "email" button in the default context menu that shows
only when an email address is selected.
only when an email address is selected.
### [Field types ](https://github.com/flutter/samples/blob/main/ experimental/ context_menus/lib/field_types_page.dart)
### [Field types ](https://github.com/flutter/samples/blob/main/ context_menus/lib/field_types_page.dart)
Shows how context menus work in the various different field widgets:
Shows how context menus work in the various different field widgets:
EditableText, TextField, and CupertinoTextField.
EditableText, TextField, and CupertinoTextField.
### [Global selection ](https://github.com/flutter/samples/blob/main/ experimental/ context_menus/lib/global_selection_page.dart)
### [Global selection ](https://github.com/flutter/samples/blob/main/ context_menus/lib/global_selection_page.dart)
Shows how to create a custom context menu in non-editable selection with
Shows how to create a custom context menu in non-editable selection with
[SelectionArea ](https://master-api.flutter.dev/flutter/material/SelectionArea-class.html ).
[SelectionArea ](https://master-api.flutter.dev/flutter/material/SelectionArea-class.html ).
### [On a widget ](https://github.com/flutter/samples/blob/main/ experimental/ context_menus/lib/image_page.dart)
### [On a widget ](https://github.com/flutter/samples/blob/main/ context_menus/lib/image_page.dart)
Shows how to make a widget show a context menu on right click or long press, in
Shows how to make a widget show a context menu on right click or long press, in
this case an Image widget.
this case an Image widget.
### [Modified action ](https://github.com/flutter/samples/blob/main/ experimental/ context_menus/lib/modified_action_page.dart)
### [Modified action ](https://github.com/flutter/samples/blob/main/ context_menus/lib/modified_action_page.dart)
Shows how to modify an existing button so that a custom action is performed when
Shows how to modify an existing button so that a custom action is performed when
it is tapped.
it is tapped.
### [Reordered buttons ](https://github.com/flutter/samples/blob/main/ experimental/ context_menus/lib/reordered_buttons_page.dart)
### [Reordered buttons ](https://github.com/flutter/samples/blob/main/ context_menus/lib/reordered_buttons_page.dart)
Shows how to change the order of the default buttons.
Shows how to change the order of the default buttons.