Allow TapRegion to consume tap events#136305
Merged
auto-submit[bot] merged 6 commits intoflutter:masterfrom Oct 12, 2023
Merged
Allow TapRegion to consume tap events#136305auto-submit[bot] merged 6 commits intoflutter:masterfrom
TapRegion to consume tap events#136305auto-submit[bot] merged 6 commits intoflutter:masterfrom
Conversation
eeacc26 to
83f7de5
Compare
TapRegion and to consume tap eventsTapRegion to consume tap events
0b8b261 to
f55aeae
Compare
QuncCccccc
approved these changes
Oct 12, 2023
| @@ -356,6 +376,7 @@ class _MenuAnchorState extends State<MenuAnchor> { | |||
| if (!widget.anchorTapClosesMenu) { | |||
Contributor
There was a problem hiding this comment.
Just a question. In the future when we deprecate anchorTapClosesMenu , we can just directly remove this if statement, right?
Contributor
Author
There was a problem hiding this comment.
Yes. But maybe I should point out in the docs that it needs to be false for consumeOutsideTap to be effective.
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Oct 13, 2023
auto-submit bot
pushed a commit
to flutter/packages
that referenced
this pull request
Oct 13, 2023
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) ...
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.