Fix tab bar flicker on hide/show#430
Open
dfabulich wants to merge 1 commit into
Open
Conversation
Contributed preferences automatically erase themselves in a `DisposableEffect`. We were contributing a preference that only ran when the `IgnoresSafeAreaLayout` detected that we were adjacent to the bottom of the screen, but that can be unstable, as `IgnoresSafeAreaLayout` waits for `onGloballyPositionedInWindow`. Contributing the preferences outside `IgnoresSafeAreaLayout` ensures that they don't erase themselves when ISAL is temporarily incorrect.
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.
Contributed preferences automatically erase themselves in a
DisposableEffect. We were contributing a preference that only ran when theIgnoresSafeAreaLayoutdetected that we were adjacent to the bottom of the screen, but that can be unstable, asIgnoresSafeAreaLayoutwaits foronGloballyPositionedInWindow.Contributing the preferences outside
IgnoresSafeAreaLayoutensures that they don't erase themselves when ISAL is temporarily incorrect.Skip Pull Request Checklist:
swift testNot required
Cursor did this; I tested it in Showcase Lite with the Safe Area --> Geometry Reader playground. Hide the bottom bar before hiding/showing the tab bar.
(You'll still see a flicker if you show/hide the tab bar with the bottom bar showing. I tried working on this last week when I implemented #414, and that was one of the things that stumped me. I don't use a bottom bar; fixing that flicker will be a separate PR, perhaps much more difficult.)