Fixing bottom sheet UI bug in non-tablet devices #182
Merged
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
All bottom sheets (dialogs) were experiencing a UI bug on API 30 and lower, where the bottom part was being cut off by the system bar. This became more noticeable when using the navigation bar. Additionally, on some devices, the dialog was adding extra padding, causing a flick in the animation.
Another thing worth mentioning is that users on lower versions were having a different experience, as the modal was not presented in the same way as on more recent Android versions (without padding and dim background).
Fix proposal
The proposed solution is simple: set
decorFitsSystemWindows
of the Dialog to true, so that internally the theme R.style.DialogWindowTheme is used. Additionally, extra paddings for the status bar and navigation bar were included.I didn't understand why
decorFitsSystemWindows
was intentionally set to false. If this solution is not accepted, I can look for other alternatives.Images
Video
fix.mp4
I'm thrilled to hear that you've decided to keep this fork! I've always wanted to contribute to the repository but never found the time. Looking forward to contributing more in the future.