ios_liquid_glass 0.9.9 copy "ios_liquid_glass: ^0.9.9" to clipboard
ios_liquid_glass: ^0.9.9 copied to clipboard

PlatformiOS

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 chromaticAberration default (0.02, not 0.035).
  • Example app: new DropletNavDemoPage (pushed from Home via the Liquid droplet nav button) — LiquidGlassBottomNav.liquid stacked over a colorful library grid, wrapped in a dark Theme so the bar picks its clear-glass appearance over the vivid backdrop. This is the page behind the new hero shots. No lib/ 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 LiquidGlassNavigatorObserver instead 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 + LiquidGlassNavigatorObserver instead of driving LiquidGlassNativeTabShell by hand — four real tab pages, a pushed details route proving the bar hides itself, and a barVisible toggle for the flag-driven pattern. No lib/ changes.

0.9.6 #

  • Fix overlay leak on PIN / pushed routes: router listenables often notify before ModalRoute.isCurrent updates. Visibility sync now runs same-frame and again post-frame.
  • LiquidGlassNavigatorObserver — register on your navigator; LiquidGlassTabScaffold listens automatically.
  • Fix bar surviving hot restart: the iOS engine (and its UITabBar) outlives the Dart isolate. dartReady now tears down leftovers natively, the observer calls discardStaleOverlay() on startup, and installShell runs synchronously on the main thread so it can no longer reveal the bar after Dart decided to hide it.

0.9.5 #

  • LiquidGlassTabScaffold auto-hides the native tab bar when its host ModalRoute is covered (PIN, pushed screens, etc.) — no route-name lists required. Pass overlayListenable (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 .shell for 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:) + syncVisibility for 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) via liquid_glass_easy. Use LiquidGlassBottomNav.liquid(...) or preferLiquid: true. Stack the bar over page content and enable FLTEnableImpeller.
  • LiquidGlassNavItem.custom + LiquidGlassNavGlyphBuilder for SVG / asset icons that tint correctly under the morph pill.
  • LiquidGlassBottomNav.contentBottomClearance, visibility, and chromaticAberration / pillGrowHeight knobs 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 (was flutter_liquid_glass): import becomes package: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, optional semanticLabel) and light haptic feedback on press (enableHaptics, on by default).
  • Plain fallback is now dark-mode aware: when LiquidGlassStyle.plainColor is null, surfaces resolve to the app theme's colorScheme.surface. (tintColor removed — it only fed the old fallback.)
  • Native tab shell: per-tab badges via LiquidGlassNativeTab.badge (UITabBarItem.badgeValue); update badges by re-calling configureTabs.

0.6.0 #

  • New LiquidGlassButton (capsule, pressed-scale feedback, disabled state) and LiquidGlassIconButton (circular) — backed by native UIGlassEffect on 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_renderer dependency (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.
  • GlassTier is now {native, plain}; LiquidGlassStyle keeps only native fields (nativeVariant, nativeInteractive, nativeTintColor) plus tintColor/plainColor; LiquidGlassTheme dropped 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 via LiquidGlassPlatform.androidTier. LiquidGlassBottomNav gains a matching PlainBottomNavBar tier.
  • LiquidGlassChip — an item-level glass surface of any LiquidGlassShape (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.
  • LiquidGlassStyle gains plainColor for 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: LiquidGlassNativeTab accepts PNG bytes (iconPngBytes / selectedIconPngBytes) in addition to SF Symbol names — rasterize any asset yourself and pass the bytes.
  • Native bar theming: ensureInstalled/configureTabs take a LiquidGlassTheme; colors, label font size/weights/family, glass fill opacity, corner radius, bar height, margins, and an optional forced interface style now style the real UITabBar (custom floating-capsule geometry included).
  • clearSelectedIndex() — visually deselect all tabs (e.g. on a profile screen).
  • Route-driven visibility: LiquidGlassTabRoutePolicy + syncVisibilityForRoute + router-agnostic attachRouteListener (works with go_router via its routerDelegate), plus normalizeTabRoutePath.
  • Modal handling: reference-counted hideForModal/showAfterModal and a presentModalBottomSheet helper that hides the bar for the sheet's lifetime.
  • LiquidGlassNativeTabShellFabLocation — positions a FAB above the native bar; LiquidGlassTheme gains native-shell tokens and contentBottomInset/nativeShellBottomInset helpers.
  • Debug badge: LiquidGlassBottomNav(showDebugBadge: true) overlays nav:<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 configureTabs now takes a payload map; the shell's configureTabs takes List<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, native UIGlassEffect variant/interactivity/tint).
  • AdaptiveGlassSurface, LiquidGlassSurface, and LiquidGlassContainer now accept style; FrostedGlassSurface gains borderWidth and a FrostedGlassSurface.fromStyle constructor.
  • LiquidGlassContainer is now Container-like: width, height, constraints, margin, alignment, and onTap.
  • Native tier honors LiquidGlassStyle.nativeVariant (regular/clear), nativeInteractive, and nativeTintColor; runtime style changes recreate the platform view so they apply immediately.
  • LiquidGlassBottomNav (and the per-tier bars) accept style to restyle the bar's glass material; layout/item colors/motion still come from LiquidGlassTheme.
  • No breaking changes — all existing constructors and defaults are preserved.

0.1.0 #

  • Initial release: LiquidGlassContainer, AdaptiveGlassSurface, LiquidGlassSurface, FrostedGlassSurface.
  • LiquidGlassBottomNav with native (iOS 26 UIGlassEffect), shader (liquid_glass_renderer), and frosted (BackdropFilter) tiers.
  • LiquidGlassPlatform capability detection and LiquidGlassTheme design tokens.
  • Optional advanced module: LiquidGlassNativeTabShell, overlaying Apple's real UITabBarController on iOS 26+.
1
likes
150
points
326
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Native iOS 26 Liquid Glass (UIGlassEffect and UITabBarController) for Flutter, plus an Impeller liquid-lens tier for iridescent droplet navigation.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter, liquid_glass_easy, plugin_platform_interface

More

Packages that depend on ios_liquid_glass

Packages that implement ios_liquid_glass