• Greg Spencer's avatar
    Allow `TapRegion` to consume tap events (#136305) · 22b0a62a
    Greg Spencer authored
    ## Description
    
    In order for `MenuAnchor` menus to be able to not pass on the taps that close their menus, `TapRegion` needed a way to consume them.  This change adds a flag to the `TapRegion`, `consumeOutsideTap` that will consume taps that occur outside of the region if the flag is set (it is false by default). The same flag is added to `MenuAnchor` to allow selecting the behavior for menus.
    
    `TapRegion` consumes the tap event by registering with the gesture arena and immediately resolving the tap as accepted if any regions in a group have `consumeOutsideTap` set 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
     - https://github.com/flutter/flutter/issues/135327
    
    ## Tests
     - Added tests for `TapRegion` to make sure taps are consumed properly.
    22b0a62a
Name
Last commit
Last update
..
about Loading commit data...
action_buttons Loading commit data...
action_chip Loading commit data...
animated_icon Loading commit data...
app_bar Loading commit data...
autocomplete Loading commit data...
banner Loading commit data...
bottom_app_bar Loading commit data...
bottom_navigation_bar Loading commit data...
bottom_sheet Loading commit data...
button_style Loading commit data...
card Loading commit data...
checkbox Loading commit data...
checkbox_list_tile Loading commit data...
chip Loading commit data...
choice_chip Loading commit data...
color_scheme Loading commit data...
context_menu Loading commit data...
data_table Loading commit data...
date_picker Loading commit data...
dialog Loading commit data...
divider Loading commit data...
drawer Loading commit data...
dropdown Loading commit data...
dropdown_menu Loading commit data...
elevated_button Loading commit data...
expansion_panel Loading commit data...
expansion_tile Loading commit data...
filled_button Loading commit data...
filter_chip Loading commit data...
flexible_space_bar Loading commit data...
floating_action_button Loading commit data...
floating_action_button_location Loading commit data...
icon_button Loading commit data...
ink Loading commit data...
ink_well Loading commit data...
input_chip Loading commit data...
input_decorator Loading commit data...
list_tile Loading commit data...
material_state Loading commit data...
menu_anchor Loading commit data...
navigation_bar Loading commit data...
navigation_drawer Loading commit data...
navigation_rail Loading commit data...
outlined_button Loading commit data...
page_transitions_theme Loading commit data...
paginated_data_table Loading commit data...
platform_menu_bar Loading commit data...
popup_menu Loading commit data...
progress_indicator Loading commit data...
radio Loading commit data...
radio_list_tile Loading commit data...
range_slider Loading commit data...
refresh_indicator Loading commit data...
reorderable_list Loading commit data...
scaffold Loading commit data...
scrollbar Loading commit data...
search_anchor Loading commit data...
segmented_button Loading commit data...
selectable_region Loading commit data...
selection_area Loading commit data...
selection_container Loading commit data...
slider Loading commit data...
snack_bar Loading commit data...
stepper Loading commit data...
switch Loading commit data...
switch_list_tile Loading commit data...
tab_controller Loading commit data...
tabs Loading commit data...
text_button Loading commit data...
text_field Loading commit data...
text_form_field Loading commit data...
theme Loading commit data...
theme_data Loading commit data...
time_picker Loading commit data...
toggle_buttons Loading commit data...
tooltip Loading commit data...