flutter/dev
Greg Spencer 8c271e5cb8
Implement Material MenuBar and MenuAnchor (#112239)
This implements a MenuBar widget that can render a Material menu bar, and a MenuAnchor widget used to create a cascading menu in a region. The menus are drawn in the overlay, while the menu bar itself is in the regular widget tree. Keyboard traversal works between the two.

This implementation of the MenuBar uses MenuAnchor to create a cascading menu that contains widgets representing the menu items. These menu items can be any kind of widget, but are typically SubmenuButtons that host submenus, or MenuItemButtons that have shortcut hints (but don't actually activate the shortcuts) and don't host submenus.

Cascading menus can be created outside of a MenuBar by using a MenuAnchor. They can be either given a specific location to appear (a coordinate), or they can be located by the MenuAnchor region that wraps the control that opens them.

The developer may also create a MenuController to pass to the various menu primitives (MenuBar or MenuAnchor) to associate menus so that they can be traversed together and closed together. Creating a controller is not required.
2022-09-28 14:10:18 -07:00
..
automated_tests Roll pub packages (#112408) 2022-09-26 21:21:58 +00:00
benchmarks Force benchmark app to portrait (#112502) 2022-09-27 23:51:17 +00:00
bots Web subsharding (#112505) 2022-09-28 19:23:35 +00:00
ci Bump ubuntu from e4771b7 to eb1392b in /dev/ci/docker_linux (#110534) 2022-09-19 16:19:11 +00:00
conductor Roll pub packages (#112408) 2022-09-26 21:21:58 +00:00
customer_testing Roll pub packages (#112408) 2022-09-26 21:21:58 +00:00
devicelab Update pod repo to pull the latest Flutter pods in plugin_lint_mac (#112237) 2022-09-28 18:14:52 +00:00
docs Fix API docs CSS files so dark mode works (#112023) 2022-09-21 18:33:08 +00:00
forbidden_from_release_tests [flutter_tools] unpin path_provider_android and roll (#110216) 2022-08-25 19:42:21 +00:00
integration_tests Tighten asset variant detection criteria to only include device-pixel-ratio variants (#110721) 2022-09-27 20:57:33 +00:00
manual_tests Implement Material MenuBar and MenuAnchor (#112239) 2022-09-28 14:10:18 -07:00
missing_dependency_tests Prepare dev (minus flutter_gallery) for use_super_parameters (#100516) 2022-03-29 12:52:42 -07:00
snippets/config Fix API docs CSS files so dark mode works (#112023) 2022-09-21 18:33:08 +00:00
tools Revert "Add support for Material 3 Divider and VerticalDivider" (#112471) 2022-09-27 15:15:59 +00:00
tracing_tests Revert "Migrate package/flutter to JS static interop. (#111315)" (#112247) 2022-09-23 04:00:22 +00:00
analysis_options.yaml Enable more lints (#91642) 2021-10-14 22:03:03 -07:00
md [web] Add onEntrypointLoaded to FlutterLoader. (#108776) 2022-08-03 20:58:06 +00:00
README.md Migrate to .ci.yaml (#82960) 2021-05-19 20:09:46 -07:00

This directory contains tools and resources that the Flutter team uses during the development of the framework. The tools in this directory should not be necessary for developing Flutter applications, though of course, they may be interesting if you are curious.

The tests in this directory are run in the framework_tests_misc-* shards.