-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Allow TapRegion to consume tap events
#136305
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
eeacc26 to
83f7de5
Compare
TapRegion and to consume tap eventsTapRegion to consume tap events
0b8b261 to
f55aeae
Compare
QuncCccccc
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM:) !
| Widget build(BuildContext context) { | ||
| Widget child = _buildContents(context); | ||
|
|
||
| if (!widget.anchorTapClosesMenu) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a question. In the future when we deprecate anchorTapClosesMenu , we can just directly remove this if statement, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. But maybe I should point out in the docs that it needs to be false for consumeOutsideTap to be effective.
Roll Flutter from 83134ac to 3865e49 (80 revisions) flutter/flutter@83134ac...3865e49 2023-10-13 [email protected] Roll Flutter Engine from e94f191d0ba4 to f9aed0267352 (2 revisions) (flutter/flutter#136537) 2023-10-13 [email protected] Roll Flutter Engine from 40ddc30b9d6c to e94f191d0ba4 (1 revision) (flutter/flutter#136532) 2023-10-13 [email protected] Roll Flutter Engine from 5acdac549034 to 40ddc30b9d6c (1 revision) (flutter/flutter#136526) 2023-10-13 [email protected] Roll Flutter Engine from b59d779d4f7f to 5acdac549034 (2 revisions) (flutter/flutter#136523) 2023-10-13 [email protected] Roll Flutter Engine from dc30b4cd0239 to b59d779d4f7f (2 revisions) (flutter/flutter#136521) 2023-10-13 [email protected] Roll Flutter Engine from 31ec5e31a914 to dc30b4cd0239 (1 revision) (flutter/flutter#136518) 2023-10-13 [email protected] Roll Flutter Engine from 7a6172e9d34c to 31ec5e31a914 (1 revision) (flutter/flutter#136516) 2023-10-13 [email protected] Roll Flutter Engine from ffb3b5b67f61 to 7a6172e9d34c (1 revision) (flutter/flutter#136515) 2023-10-13 [email protected] SearchAnchor should dispose created FocusNode and SearchController. (flutter/flutter#136120) 2023-10-13 [email protected] Roll Flutter Engine from dee90f16aacd to ffb3b5b67f61 (2 revisions) (flutter/flutter#136506) 2023-10-13 [email protected] Make constraints a covariant argument in RenderBox.computeDryLayout() (flutter/flutter#136432) 2023-10-12 [email protected] [web] remove loading indicator in -d web-server builds (flutter/flutter#136482) 2023-10-12 [email protected] Roll Flutter Engine from cb37ebc81939 to dee90f16aacd (3 revisions) (flutter/flutter#136502) 2023-10-12 [email protected] Roll Flutter Engine from 7eb20a09073e to cb37ebc81939 (2 revisions) (flutter/flutter#136492) 2023-10-12 [email protected] [SingleChildScrollView] Correct the offset pixels if it is out of range during layout (flutter/flutter#136239) 2023-10-12 [email protected] Allow `TapRegion` to consume tap events (flutter/flutter#136305) 2023-10-12 [email protected] Fix doc TODO (flutter/flutter#136485) 2023-10-12 [email protected] Roll Flutter Engine from f02006736390 to 7eb20a09073e (4 revisions) (flutter/flutter#136478) 2023-10-12 [email protected] Bump file,process,process_runner (flutter/flutter#136418) 2023-10-12 [email protected] Roll Flutter Engine from 664657d32992 to f02006736390 (3 revisions) (flutter/flutter#136467) 2023-10-12 [email protected] Fix PageView API doc sample fails on Desktop and Web (flutter/flutter#135910) 2023-10-12 [email protected] Add `--trace-to-file` option to `flutter run` (flutter/flutter#135713) 2023-10-12 [email protected] [flutter_tools] handle ERROR_INVALID_FUNCTION when trying to symlink across drives (flutter/flutter#136424) 2023-10-12 [email protected] Updates references to `finders.dart` in `controller.dart` to use a namespace. (flutter/flutter#136423) 2023-10-12 [email protected] Change some tests to run on macs without iOS devices attached (flutter/flutter#136463) 2023-10-12 [email protected] Roll Packages from 4b483f2 to 93c3f69 (9 revisions) (flutter/flutter#136461) 2023-10-12 [email protected] Fix typo in function name (flutter/flutter#136273) 2023-10-12 [email protected] Fix chip widgets don't the apply provided `iconTheme` (flutter/flutter#135751) 2023-10-12 [email protected] Roll Flutter Engine from 33a6d21b3364 to 664657d32992 (2 revisions) (flutter/flutter#136450) 2023-10-12 [email protected] Roll Flutter Engine from d00fabf0b919 to 33a6d21b3364 (5 revisions) (flutter/flutter#136442) 2023-10-12 [email protected] Roll Flutter Engine from 05e26c1b2c79 to d00fabf0b919 (5 revisions) (flutter/flutter#136431) 2023-10-12 [email protected] Floating `SnackBar` should always float above the bottom widgets (flutter/flutter#136411) 2023-10-12 [email protected] SearchBar should listen to changes to the SearchController and update suggestions on change (flutter/flutter#134337) 2023-10-11 [email protected] Allow latest pkg:material_color_utilities (flutter/flutter#132445) 2023-10-11 [email protected] Roll Flutter Engine from 8bf1460892c6 to 05e26c1b2c79 (3 revisions) (flutter/flutter#136422) 2023-10-11 [email protected] Create template for umbrella issues (flutter/flutter#134235) 2023-10-11 [email protected] [Windows Arm64] Add the 'platform_channel_sample_test_windows' Devicelab test (flutter/flutter#136401) 2023-10-11 [email protected] Roll Flutter Engine from 2b1b4b97f787 to 8bf1460892c6 (4 revisions) (flutter/flutter#136414) 2023-10-11 [email protected] Stop recommending android sdk root (flutter/flutter#136296) 2023-10-11 [email protected] Roll Flutter Engine from 5fcc16772cdd to 2b1b4b97f787 (1 revision) (flutter/flutter#136404) 2023-10-11 [email protected] Switch to Chrome for Testing instead of vanilla Chromium. (flutter/flutter#136214) 2023-10-11 [email protected] Reland "Switch flutter_tools to run frontend server from AOT snapshot" (flutter/flutter#136282) 2023-10-11 [email protected] Roll Flutter Engine from 4b02631b59bf to 5fcc16772cdd (2 revisions) (flutter/flutter#136397) 2023-10-11 [email protected] Fix some deprecation details (flutter/flutter#136385) 2023-10-11 [email protected] Roll Flutter Engine from ed67e8aa9aba to 4b02631b59bf (1 revision) (flutter/flutter#136392) 2023-10-11 [email protected] [leak-tracking] Add leak tracking in test/rendering - 1 (flutter/flutter#136275) ...
Description
In order for
MenuAnchormenus to be able to not pass on the taps that close their menus,TapRegionneeded a way to consume them. This change adds a flag to theTapRegion,consumeOutsideTapthat will consume taps that occur outside of the region if the flag is set (it is false by default). The same flag is added toMenuAnchorto allow selecting the behavior for menus.TapRegionconsumes the tap event by registering with the gesture arena and immediately resolving the tap as accepted if any regions in a group haveconsumeOutsideTapset to true.This PR also deprecates
MenuAnchor.anchorTapClosesMenu, since it is a much more limited version of the same feature that only applied to the anchor itself, and even then only applied to closing the menu, not passing along the tap. The same functionality can now be implemented by handling a tap on the anchor widget and checking to see if the menu is open before closing it.Related Issues
Tests
TapRegionto make sure taps are consumed properly.