liquid_glass_bottom_nav 0.0.14
liquid_glass_bottom_nav: ^0.0.14 copied to clipboard
A beautiful, liquid frosted-glass floating bottom navigation bar for Flutter.
0.0.14 #
- Change:
LiquidGlassNavBar's held-tab feedback replaced. The old drag tilt (rotateZ+ direction-dependent squash/stretch driven by horizontal drag delta) is gone. In its place: a direction-independent vertical spring squash that responds continuously to drag movement and settles back to neutral with a subtle overshoot (Curves.easeOutBack) once the finger pauses. - Change:
dragRainbowBordernow defaults tofalse. The held bubble's default accent is a light gray stroke instead of the iridescent sheen; the rainbow ring is still available by settingdragRainbowBorder: true. The stroke now renders consistently whetherliquidActiveBubbleis on or off. - Change:
liquidActiveBubblenow defaults totrue— the held bubble renders as a realLiquidGlassshape by default. See the updated doc comment for the per-frame shader-recompute tradeoff on low-end Android hardware; set tofalseto opt back into the plain tinted container.
0.0.13 #
- Fix:
equatableconstraint lower bound (^2.0.7) allowed resolving to a version whereEquatableisn't amixin class, which brokewith EquatableinLiquidGlassSettings/LiquidShapeand failed pub.dev's dependency-lower-bound (downgrade) check. Bumped to^2.1.0, the version that introducedmixin class Equatable. - Fix: three shaders (
liquid_glass_geometry_blended.frag,liquid_glass_filter.frag,liquid_glass_arbitrary.frag) failed to compile on the Skia/non-Impeller fallback backend (used on some older/unsupported Android devices), crashing app startup withimpellerc failure: Compilation failed for target: SkSL. Root causes: (1) the shape-data array was passed by value into a nested helper function, which spirv-cross cross-compiles to an SkSL array copy-with-initializer that SkSL rejects; inlined the helper so the array is only ever a single-level parameter. (2) a blur-radius loop used a non-constlocal as its bound, which SkSL requires to be a literal constant; hardcoded the loop bounds. No visual or API changes.
0.0.12 #
- Docs: replace the top-of-README demo placeholder with a real screenshot of the example app (
assets/demo.png).
0.0.11 #
- Add
dragRainbowBordertoLiquidGlassNavBar(defaulttrue) — while a tab is held/dragging, its border becomes a soft iridescent "soap bubble" sheen (blurred pastel gradient rim + glossy highlight) instead of a flatactiveColorstroke. PlainCustomPaintereffect, no extra per-frame cost. Set tofalseto keep the old flat border. - Add
liquidActiveBubbletoLiquidGlassNavBar(defaultfalse, opt-in) — renders the held drag bubble as a realLiquidGlassshape instead of a plain tinted container. Only applies while actively dragging; the resting selected bubble is unaffected. Off by default: this animates the glass shape's position/size every drag frame, forcing a per-frame shader recompute — test on real mid/low-end Android hardware before enabling in production. - Fix: migrate
LiquidGlassSettingsandLiquidShapeoff the deprecatedEquatableMixintoEquatable(usable as a mixin sinceequatable2.1.0), resolving a pub.dev static analysis warning.
0.0.10 #
- Add
badgeCount,badgeColor,badgeTextColor,badgeBorderRadiustoLiquidGlassNavItem— shows a small notification badge on a tab's icon, styled per-item.badgeCountnull or<= 0hides the badge; values above 99 display as "99+". Works in both Impeller and legacy fallback modes. - Add
borderRadiusparam toLiquidGlassNavBar(default34.0) — customizes the corner radius of the floating capsule. The active tab bubble indicator now follows the same radius instead of always rendering as a full pill.
0.0.9 #
- Add
fakeparam toLiquidGlassContainer— whentrue, renders the cheapFakeGlassapproximation instead of the real refraction shader. No geometry shader, no per-frame transform tracking, so it stays smooth inside scrolling/paging content. Best for glass placed over a flat/solid background, where real refraction has nothing meaningful to refract. - Add
fakeandownLayerparams toLiquidGlassBackButton, matching the options already onLiquidGlassContainer.fake: trueavoids Android overscroll distortion artifacts when the button sits inside scrolling/paging content.
0.0.8 #
- Add
ownLayerparam toLiquidGlassContainer— whenfalse, the container joins a parentLiquidGlassLayerinstead of creating its own layer, reducing N shader passes to 1 for grouped cards. - Add
backgroundColorparam toLiquidGlassContainer— true opaque solid fill inside the glass shape, independent of theglassColorshader tint. Enables iOS-native-style solid-color glass containers. - Add
saturationandthicknessparams toLiquidGlassContainer— previously hardcoded, now fully customizable for vibrancy and refraction tuning. - Export
LiquidGlassLayerandLiquidGlassSettingsfrom the main library entry point. - Add
LiquidGlassRenderScope.maybeOf(BuildContext)for safe scope detection. - Nav bar light mode: active bubble indicator now uses
activeColortint instead of white, making it visible against the white capsule background. - Nav bar light mode: capsule
glassColoralpha increased to 0.76 andblursettled at 1 for clean vibrant white appearance without fogging.
0.0.7 #
- Add
LiquidGlassBackButton— floating frosted-glass back button with chevron icon, touch glow viaGlassGlow, and press scale feedback. Falls back to plainIconButtonon non-Impeller targets. - Tune glass settings for stronger liquid glass refraction: higher
thickness(32), lowerblur(1), reducedglassColoropacity — applies to both nav bar and back button.
0.0.6 #
- Add demo GIF placeholder to README — drop
assets/demo.gifto activate. - Wire
assets/directory for hosting demo media.
0.0.5 #
- Add
example/app with interactive demos: dark/light mode toggle, 3/4/5 tab selector, active color picker, icon size slider, and legacy fallback toggle. - Add
CLAUDE.mdandAGENTS.mdwith commit convention, renderer performance rules, and workflow guidelines.
0.0.4 #
- Add
iconSizeparam to control icon size across all tabs (default: 22). - Add
labelStyleparam for custom label typography, merged overbodySmall. Color always follows active/inactive color. - Add
iconWidgettoLiquidGlassNavItemfor custom icon widgets (SVG, asset, painter). Takes priority overicon; wrapped inIconThemefor automatic color inheritance. - Make
iconoptional inLiquidGlassNavItem— required only wheniconWidgetis not provided. - Fix held bubble capsule clipping outside leftmost/rightmost tab boundaries during drag.
- Rewrite README with full API reference, usage examples, and Impeller setup instructions.
0.0.3 #
- Embed
liquid_glass_rendererinternally for zero-dependency usage. - Add physics-based squish and stretch animations that react smoothly to drag velocity.
0.0.2 #
- Update metadata and prepare for initial release.
0.0.1 #
- Initial release of liquid_glass_bottom_nav.