Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Tapping a modal bottom sheet should not dismiss it by default #32528
As pointed out in #20720, our current implementation of the modal bottom sheets aren't following the Material spec, as tapping on a bottom sheet itself will dismiss the sheet. From the Material Guidelines, it should be dismissed by:
The app would be responsible for the first and last as it would be providing the controls in the sheet. The other two are already handled by the bottom sheet implementation, however we also dismiss on a tap.
This PR removes the GestureDetector responsible for dismissing the sheet when the user taps on it. While this doesn't technically break the API, it does change the behavior of modal bottom sheets to bring it in line with the spec.
In the unlikely event that an application actually wanted this behavior they could wrap their bottom sheet content in a GestureDetector to replicate the previous behavior:
GestureDetector( onTap: () => Navigator.pop(context), behavior: HitTestBehavior.opaque, child: <bottom sheet contents>, );
Modified the test to check to see if a tap doesn't dismiss the sheet.
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (
Does your PR require Flutter developers to manually update their apps to accommodate your change?