Tapping a modal bottom sheet should not dismiss it by default#32528
Merged
darrenaustin merged 2 commits intoflutter:masterfrom May 15, 2019
darrenaustin:modal_bottom_sheet_dimiss
Merged
Tapping a modal bottom sheet should not dismiss it by default#32528darrenaustin merged 2 commits intoflutter:masterfrom darrenaustin:modal_bottom_sheet_dimiss
darrenaustin merged 2 commits intoflutter:masterfrom
darrenaustin:modal_bottom_sheet_dimiss
Conversation
- Removed the GestureDetector from the modal bottom sheet that dismissed it on tap. - Updated the test for this case. - Updated the demo example to remove tapping to dismiss from the message. - Renamed modal_bottom_sheet_test -> bottom_sheet_test as it included tests for both persistent and modal bottom sheets.
…tom sheet as tapping in the body no longer does that.
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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
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:
Related Issues
Fixes: #20720
Tests
Modified the test to check to see if a tap doesn't dismiss the sheet.
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (
[x]). This will ensure a smooth and quick review process.///).flutter analyze --flutter-repo) does not report any problems on my PR.Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?