feat(nav): frosted "liquid glass" tab bar via Haze - #1219
Merged
Conversation
Replace the v2 tab bar's flat translucent pill with a Haze blur that frosts whatever scrolls beneath it, including the scanner's live camera (its PreviewView runs in COMPATIBLE/TextureView mode, so it draws in the Compose layer Haze can sample — no SurfaceView hole). - NewAppContent marks the nav content as a hazeSource; the state threads through AppNavigationBar -> NavigationBar -> NavigationBarV2. - Custom HazeBlurStyle tuned for an iOS-ish liquid glass: a wide 32dp blur and a tint toward a grey lifted off the near-black background so the pill reads as a light frosted glass over dark content rather than a black blob, while the high alpha still mutes vibrant content. A faint white rim gives the glass edge. - Kill the Material ripple on the tab items — the sliding selection pill is the touch feedback; a ripple just competes with it. - Solid lifted-grey fill remains as a fallback only when no HazeState is passed. - Add libs.bundles.haze to :core and :app.
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.
Summary
Frosted "liquid glass" v2 tab bar via Haze — the pill now blurs whatever scrolls beneath it, on all four tabs including the live camera.
PreviewViewruns inCOMPATIBLE/TextureView mode (draws in the Compose layer), so Haze blurs the real camera feed — no SurfaceView "hole", no camera-tab special-case.NewAppContentmarks the nav content as ahazeSource; theHazeStatethreads throughAppNavigationBar → NavigationBar → NavigationBarV2.HazeBlurStyle: 32dp blur + a tint toward a grey lifted off the near-black background (not black, not the bg tone) so it reads as a light frosted glass over dark content instead of a black blob, while the high alpha still mutes vibrant card colors. Faint white rim for the glass edge.HazeStateis passed.libs.bundles.hazeadded to:coreand:app(already vendored at 2.0.0-alpha03; follows the messengerChatBottomBarpattern).Test Plan