🧊 Liquid Glass UI

Flutter · iOS 26.4 · Liquid Glass

Frosted UI,
ready to drop in.

A translucent design system for Flutter — colors, type and glass components that feel native, monochrome by default with no blue in sight.

🧊 Real BackdropFilter glass 🌗 Light & dark 🎞️ Animated nav bar ♿ A11y-aware
flutter pub add liquid_glass_ui_kit

Everything in the box

Component catalog

Eleven building blocks, all reading their blur, tint and radii from one GlassTheme. Import once, use anywhere.

Motion

Two flags, full control

FlagDefaultWhat it does
animateIndicatortrueThe highlight slides between items. Off → it appears instantly on the selected item.
animateBouncetrueThe selected icon and pill pop with a spring on selection.
showLabelstrueSet false for an icons-only bar.
borderRadius40Bar corner radius; large values clamp to a full capsule.

Both animations disable themselves automatically when the system Reduce Motion setting is on.

One source of truth

Theming

Wrap a subtree in GlassTheme; read it anywhere with GlassTheme.of(context). Palette, type and metrics live together.

GlassTheme(
  data: GlassThemeData.dark(),
  child: GlassScaffold(
    appBar: GlassAppBar(title: Text('Home')),
    body: ...,
  ),
)

// Read tokens anywhere
final t = GlassTheme.of(context);
t.colors.accent;      // monochrome accent
t.typography.title1;  // SF-Pro-style scale
t.metrics.blurSigma;  // shared blur
// Opt into a color accent if you want one
GlassTheme(
  data: GlassThemeData.light(
    metrics: GlassMetrics(blurSigma: 32),
  ).copyWith(
    colors: GlassColors.light.copyWith(
      accent: Color(0xFFAF52DE),
    ),
  ),
  child: ...,
)

Designed for humans

Accessibility, by default

Translucency can wreck contrast over busy backgrounds — so the kit reacts to the system settings for you.

Reduce Transparency

Glass surfaces drop the blur and render as opaque, clearly-bordered panels — keeping text above WCAG contrast.

Reduce Motion

Press, toggle, nav, dialog and menu animations switch off — no slide, no spring, no parallax.