ios_liquid_glass 0.9.9
ios_liquid_glass: ^0.9.9 copied to clipboard
Native iOS 26 Liquid Glass (UIGlassEffect and UITabBarController) for Flutter, plus an Impeller liquid-lens tier for iridescent droplet navigation.
0.9.9 #
- README media overhaul: the Impeller liquid tier is finally shown —
a full-frame hero of the droplet mid-morph refracting page content
(rainbow rim, "Night Swim" bending through the lens), an animated GIF
of the jelly morph between tabs, and a prism close-up of the
chromatic-aberration rim. Native-tier shots (home gallery,
pushed-route auto-hide, badges) recaptured at 600 px (previously
193 px) with a clean 9:41 status bar. Corrected the documented
chromaticAberrationdefault (0.02, not0.035). - Example app: new
DropletNavDemoPage(pushed from Home via the Liquid droplet nav button) —LiquidGlassBottomNav.liquidstacked over a colorful library grid, wrapped in a darkThemeso the bar picks its clear-glass appearance over the vivid backdrop. This is the page behind the new hero shots. Nolib/changes.
0.9.8 #
- README fix: pub.dev's sanitizer strips raw HTML
<img>tags (GitHub's doesn't), so the 0.9.7 screenshot gallery rendered as bare alt text there. Switched to a Markdown table of![]()images, which pub.dev's renderer properly rewrites against the repo.
0.9.7 #
- README: screenshot gallery (native tab bar, pushed-route hide,
badge) captured from the example app. Usage section now leads with
registering
LiquidGlassNavigatorObserverinstead of burying it after the code samples, and separates route-driven hiding (the default, no config needed) from flag-driven hiding (barVisible,shouldHideOverlay) for PIN screens / blur overlays. - Example app: rebuilt around
LiquidGlassTabScaffold+LiquidGlassNavigatorObserverinstead of drivingLiquidGlassNativeTabShellby hand — four real tab pages, a pushed details route proving the bar hides itself, and abarVisibletoggle for the flag-driven pattern. Nolib/changes.
0.9.6 #
- Fix overlay leak on PIN / pushed routes: router listenables often
notify before
ModalRoute.isCurrentupdates. Visibility sync now runs same-frame and again post-frame. LiquidGlassNavigatorObserver— register on your navigator;LiquidGlassTabScaffoldlistens automatically.- Fix bar surviving hot restart: the iOS engine (and its
UITabBar) outlives the Dart isolate.dartReadynow tears down leftovers natively, the observer callsdiscardStaleOverlay()on startup, andinstallShellruns synchronously on the main thread so it can no longer reveal the bar after Dart decided to hide it.
0.9.5 #
LiquidGlassTabScaffoldauto-hides the native tab bar when its hostModalRouteis covered (PIN, pushed screens, etc.) — no route-name lists required. PassoverlayListenable(e.g. your router) so visibility re-syncs on navigation.
0.9.4 #
LiquidGlassTheme.adaptive(context)— brightness-aware colors +nativeInterfaceStyle.LiquidGlassTabScaffold.themeBuilder— re-themes native bar on light/dark changes.LiquidGlassTabScaffold.scrollPadding— bottom inset for scroll views under the tab bar.
0.9.3 #
LiquidGlassTabScaffold— drop-in tab host with destinations or.shellfor an existing body. Handles native install/uninstall, Flutter fallback, overlay visibility gate, and content bottom inset.LiquidGlassTabDestination— one model for native SF Symbol + Flutter fallback icon/page.
0.9.2 #
- Visibility gate on
LiquidGlassNativeTabShell:attachVisibilityGate(shouldHide:, listenable:)+syncVisibilityfor hiding the native tab bar under overlays.
0.9.1 #
LiquidGlassMaterial— glass background for an existing child tree (keeps your icons / selection UI unchanged).- Frosted fallback on [LiquidGlassStyle] (
frostedFallback,frostedBlurSigma,frostedTintOpacity) so non‑iOS‑26 hosts still get a blur pill instead of a flat solid when wrapping custom UI.
0.9.0 #
- New
GlassTier.liquid— Impeller live-backdrop liquid lens for bottom navigation (iridescent droplet, chromatic aberration, jelly morph) vialiquid_glass_easy. UseLiquidGlassBottomNav.liquid(...)orpreferLiquid: true. Stack the bar over page content and enableFLTEnableImpeller. LiquidGlassNavItem.custom+LiquidGlassNavGlyphBuilderfor SVG / asset icons that tint correctly under the morph pill.LiquidGlassBottomNav.contentBottomClearance,visibility, andchromaticAberration/pillGrowHeightknobs for the liquid tier.- README updated: native glass is decorative; liquid tier is what refracts Flutter pixels.
0.8.0 #
- Package renamed to
ios_liquid_glass(wasflutter_liquid_glass): import becomespackage:ios_liquid_glass/ios_liquid_glass.dart; platform channel/view-type prefixes and the platform-interface class names (IosLiquidGlassPlatform,MethodChannelIosLiquidGlass,IosLiquidGlassPlugin) renamed to match. - Now declared as an iOS-only plugin — the empty Android stub is gone; on non-iOS platforms the package is pure Dart (plain fallbacks), so nothing native is linked there.
0.7.0 #
- Real MIT license (was a placeholder) and project now under git.
- Buttons: proper accessibility semantics (
button, enabled state, optionalsemanticLabel) and light haptic feedback on press (enableHaptics, on by default). - Plain fallback is now dark-mode aware: when
LiquidGlassStyle.plainColoris null, surfaces resolve to the app theme'scolorScheme.surface. (tintColorremoved — it only fed the old fallback.) - Native tab shell: per-tab badges via
LiquidGlassNativeTab.badge(UITabBarItem.badgeValue); update badges by re-callingconfigureTabs.
0.6.0 #
- New
LiquidGlassButton(capsule, pressed-scale feedback, disabled state) andLiquidGlassIconButton(circular) — backed by nativeUIGlassEffecton iOS 26+, plain solid surfaces elsewhere. - Example home screen now demonstrates buttons (regular/clear/tinted/dark/disabled, icon buttons, icon+label) instead of demo cards.
0.5.0 #
Refocus: native UIKit Liquid Glass only. The package now renders Apple's real UIGlassEffect / UITabBarController on iOS 26+ and a plain solid surface (identical layout, no effect) everywhere else.
- Removed the shader tier and the
liquid_glass_rendererdependency (no more Impeller requirement or dev-release pin). - Removed the frosted (
BackdropFilter) tier,FrostedGlassSurface, and the frosted/shader bottom-nav bars. - Removed the item-glass widgets introduced in 0.4.0 (
LiquidGlassChip,LiquidGlassItemGroup,LiquidGlassButton,LiquidGlassIconButton,LiquidGlassShape) — they were shader-based. GlassTieris now{native, plain};LiquidGlassStylekeeps only native fields (nativeVariant,nativeInteractive,nativeTintColor) plustintColor/plainColor;LiquidGlassThemedropped its shader tokens.- Example app simplified to the two things the package does: glass card + bottom nav, and the native tab shell demo.
- The full native tab shell module is unchanged (icons, theming, route sync, modals, FAB location).
0.4.0 #
Item-level glass widgets and an Android no-effect policy:
- New
GlassTier.plain— a solid surface with identical layout and no effect. Android now defaults to plain (liquid glass isn't reliable across Android devices); override app-wide viaLiquidGlassPlatform.androidTier.LiquidGlassBottomNavgains a matchingPlainBottomNavBartier. LiquidGlassChip— an item-level glass surface of anyLiquidGlassShape(superellipse, rounded rectangle, oval, capsule) for building custom nav bars, docks, toolbars, and badges of any layout.LiquidGlassItemGroup— wraps a region so all glass items inside render in a single shader pass with a shared style (the performant way to compose many glass pieces); descendants inherit its tier and style.LiquidGlassButton/LiquidGlassIconButton— ready-made glass buttons with pressed-scale feedback and disabled state, on every tier.- Item-level glass maps the native tier to the shader tier on iOS 26+ (per-item platform views are unsuitable);
LiquidGlassPlatform.resolveTier()/resolveItemTier()centralize tier selection. LiquidGlassStylegainsplainColorfor the plain tier's surface color.
0.3.0 #
Native tab shell feature parity with the originating app spike, kept fully generic (no router or SVG dependencies):
- Custom tab icons:
LiquidGlassNativeTabaccepts PNG bytes (iconPngBytes/selectedIconPngBytes) in addition to SF Symbol names — rasterize any asset yourself and pass the bytes. - Native bar theming:
ensureInstalled/configureTabstake aLiquidGlassTheme; colors, label font size/weights/family, glass fill opacity, corner radius, bar height, margins, and an optional forced interface style now style the realUITabBar(custom floating-capsule geometry included). clearSelectedIndex()— visually deselect all tabs (e.g. on a profile screen).- Route-driven visibility:
LiquidGlassTabRoutePolicy+syncVisibilityForRoute+ router-agnosticattachRouteListener(works with go_router via itsrouterDelegate), plusnormalizeTabRoutePath. - Modal handling: reference-counted
hideForModal/showAfterModaland apresentModalBottomSheethelper that hides the bar for the sheet's lifetime. LiquidGlassNativeTabShellFabLocation— positions a FAB above the native bar;LiquidGlassThemegains native-shell tokens andcontentBottomInset/nativeShellBottomInsethelpers.- Debug badge:
LiquidGlassBottomNav(showDebugBadge: true)overlaysnav:<tier> os<version>in debug builds. - iOS: improved tab-bar hit testing, safe-area propagation, selection-platter control, and selection preservation across reconfiguration.
- Breaking: platform-interface
configureTabsnow takes a payload map; the shell'sconfigureTabstakesList<LiquidGlassNativeTab>+ theme (previously titles only).
0.2.0 #
- New
LiquidGlassStyle: one widget-agnostic configuration object that styles a glass surface across all three tiers (tint, fill opacity, blur, border, shader physics, nativeUIGlassEffectvariant/interactivity/tint). AdaptiveGlassSurface,LiquidGlassSurface, andLiquidGlassContainernow acceptstyle;FrostedGlassSurfacegainsborderWidthand aFrostedGlassSurface.fromStyleconstructor.LiquidGlassContaineris nowContainer-like:width,height,constraints,margin,alignment, andonTap.- Native tier honors
LiquidGlassStyle.nativeVariant(regular/clear),nativeInteractive, andnativeTintColor; runtime style changes recreate the platform view so they apply immediately. LiquidGlassBottomNav(and the per-tier bars) acceptstyleto restyle the bar's glass material; layout/item colors/motion still come fromLiquidGlassTheme.- No breaking changes — all existing constructors and defaults are preserved.
0.1.0 #
- Initial release:
LiquidGlassContainer,AdaptiveGlassSurface,LiquidGlassSurface,FrostedGlassSurface. LiquidGlassBottomNavwith native (iOS 26UIGlassEffect), shader (liquid_glass_renderer), and frosted (BackdropFilter) tiers.LiquidGlassPlatformcapability detection andLiquidGlassThemedesign tokens.- Optional advanced module:
LiquidGlassNativeTabShell, overlaying Apple's realUITabBarControlleron iOS 26+.