-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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 engine-flutter-autoroll@skia.org Roll Flutter Engine from e94f191d0ba4 to f9aed0267352 (2 revisions) (flutter/flutter#136537) 2023-10-13 engine-flutter-autoroll@skia.org Roll Flutter Engine from 40ddc30b9d6c to e94f191d0ba4 (1 revision) (flutter/flutter#136532) 2023-10-13 engine-flutter-autoroll@skia.org Roll Flutter Engine from 5acdac549034 to 40ddc30b9d6c (1 revision) (flutter/flutter#136526) 2023-10-13 engine-flutter-autoroll@skia.org Roll Flutter Engine from b59d779d4f7f to 5acdac549034 (2 revisions) (flutter/flutter#136523) 2023-10-13 engine-flutter-autoroll@skia.org Roll Flutter Engine from dc30b4cd0239 to b59d779d4f7f (2 revisions) (flutter/flutter#136521) 2023-10-13 engine-flutter-autoroll@skia.org Roll Flutter Engine from 31ec5e31a914 to dc30b4cd0239 (1 revision) (flutter/flutter#136518) 2023-10-13 engine-flutter-autoroll@skia.org Roll Flutter Engine from 7a6172e9d34c to 31ec5e31a914 (1 revision) (flutter/flutter#136516) 2023-10-13 engine-flutter-autoroll@skia.org Roll Flutter Engine from ffb3b5b67f61 to 7a6172e9d34c (1 revision) (flutter/flutter#136515) 2023-10-13 sokolovskyi.konstantin@gmail.com SearchAnchor should dispose created FocusNode and SearchController. (flutter/flutter#136120) 2023-10-13 engine-flutter-autoroll@skia.org Roll Flutter Engine from dee90f16aacd to ffb3b5b67f61 (2 revisions) (flutter/flutter#136506) 2023-10-13 tvolkert@users.noreply.github.com Make constraints a covariant argument in RenderBox.computeDryLayout() (flutter/flutter#136432) 2023-10-12 yjbanov@google.com [web] remove loading indicator in -d web-server builds (flutter/flutter#136482) 2023-10-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from cb37ebc81939 to dee90f16aacd (3 revisions) (flutter/flutter#136502) 2023-10-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from 7eb20a09073e to cb37ebc81939 (2 revisions) (flutter/flutter#136492) 2023-10-12 xubaolin@oppo.com [SingleChildScrollView] Correct the offset pixels if it is out of range during layout (flutter/flutter#136239) 2023-10-12 gspencergoog@users.noreply.github.com Allow `TapRegion` to consume tap events (flutter/flutter#136305) 2023-10-12 goderbauer@google.com Fix doc TODO (flutter/flutter#136485) 2023-10-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from f02006736390 to 7eb20a09073e (4 revisions) (flutter/flutter#136478) 2023-10-12 goderbauer@google.com Bump file,process,process_runner (flutter/flutter#136418) 2023-10-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from 664657d32992 to f02006736390 (3 revisions) (flutter/flutter#136467) 2023-10-12 104349824+huycozy@users.noreply.github.com Fix PageView API doc sample fails on Desktop and Web (flutter/flutter#135910) 2023-10-12 derekx@google.com Add `--trace-to-file` option to `flutter run` (flutter/flutter#135713) 2023-10-12 christopherfujino@gmail.com [flutter_tools] handle ERROR_INVALID_FUNCTION when trying to symlink across drives (flutter/flutter#136424) 2023-10-12 109253501+pdblasi-google@users.noreply.github.com Updates references to `finders.dart` in `controller.dart` to use a namespace. (flutter/flutter#136423) 2023-10-12 15619084+vashworth@users.noreply.github.com Change some tests to run on macs without iOS devices attached (flutter/flutter#136463) 2023-10-12 engine-flutter-autoroll@skia.org Roll Packages from 4b483f2 to 93c3f69 (9 revisions) (flutter/flutter#136461) 2023-10-12 15619084+vashworth@users.noreply.github.com Fix typo in function name (flutter/flutter#136273) 2023-10-12 tessertaha@gmail.com Fix chip widgets don't the apply provided `iconTheme` (flutter/flutter#135751) 2023-10-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from 33a6d21b3364 to 664657d32992 (2 revisions) (flutter/flutter#136450) 2023-10-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from d00fabf0b919 to 33a6d21b3364 (5 revisions) (flutter/flutter#136442) 2023-10-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from 05e26c1b2c79 to d00fabf0b919 (5 revisions) (flutter/flutter#136431) 2023-10-12 36861262+QuncCccccc@users.noreply.github.com Floating `SnackBar` should always float above the bottom widgets (flutter/flutter#136411) 2023-10-12 66151079+bryanoli@users.noreply.github.com SearchBar should listen to changes to the SearchController and update suggestions on change (flutter/flutter#134337) 2023-10-11 kevmoo@users.noreply.github.com Allow latest pkg:material_color_utilities (flutter/flutter#132445) 2023-10-11 engine-flutter-autoroll@skia.org Roll Flutter Engine from 8bf1460892c6 to 05e26c1b2c79 (3 revisions) (flutter/flutter#136422) 2023-10-11 kevinjchisholm@google.com Create template for umbrella issues (flutter/flutter#134235) 2023-10-11 737941+loic-sharma@users.noreply.github.com [Windows Arm64] Add the 'platform_channel_sample_test_windows' Devicelab test (flutter/flutter#136401) 2023-10-11 engine-flutter-autoroll@skia.org Roll Flutter Engine from 2b1b4b97f787 to 8bf1460892c6 (4 revisions) (flutter/flutter#136414) 2023-10-11 christopherfujino@gmail.com Stop recommending android sdk root (flutter/flutter#136296) 2023-10-11 engine-flutter-autoroll@skia.org Roll Flutter Engine from 5fcc16772cdd to 2b1b4b97f787 (1 revision) (flutter/flutter#136404) 2023-10-11 jacksongardner@google.com Switch to Chrome for Testing instead of vanilla Chromium. (flutter/flutter#136214) 2023-10-11 derekx@google.com Reland "Switch flutter_tools to run frontend server from AOT snapshot" (flutter/flutter#136282) 2023-10-11 engine-flutter-autoroll@skia.org Roll Flutter Engine from 4b02631b59bf to 5fcc16772cdd (2 revisions) (flutter/flutter#136397) 2023-10-11 katelovett@google.com Fix some deprecation details (flutter/flutter#136385) 2023-10-11 engine-flutter-autoroll@skia.org Roll Flutter Engine from ed67e8aa9aba to 4b02631b59bf (1 revision) (flutter/flutter#136392) 2023-10-11 41873024+droidbg@users.noreply.github.com [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.