Liquid Glass Easy

Components

Drop-in controls with the blocks already wired.

Each component is a lens with a style, a touch response and — where it needs one — a view already assembled. They take the same LiquidGlassStyle vocabulary, so a component and a hand-built lens can be given the same look.

One page each#

What each one needs#

On Impeller everything refracts the live backdrop and works anywhere with no setup. The difference shows on Skia: some refract your app content and so need an ancestor view, while others supply their own background and work anywhere on both engines.

ComponentSkia requirement
LiquidGlassSliderNone. Self-contained — it owns its background and refracts its own track.
LiquidGlassSwitchNone. Self-contained, same as the slider.
LiquidGlassScaffoldNone. It is the pipeline — its bars and lenses refract the body on both engines.
LiquidGlassButton, LiquidGlassFabAn ancestor LiquidGlassView; frosted fallback without one.
LiquidGlassAppBarLiquidGlassView
LiquidGlassTabBarAn ancestor LiquidGlassView — or a LiquidGlassScaffold, which is what feeds it a page when it floats as a bottom bar. For a standalone bar on Impeller, use .withImpeller(...).
LiquidGlassSheet, LiquidGlassDialogAn ancestor LiquidGlassView — present it from a context inside the view and the route carries the glass scope across on its own.
LiquidGlassMorphAn ancestor LiquidGlassView — it is a blender under the hood, and the blend rule applies unchanged.
LiquidGlassMotionPill, LiquidGlassDraggableWhatever the lens or content they wrap requires.

One vocabulary#

Every component takes a style: of the same LiquidGlassStyle used by a hand-built lens, and the ones you press take a touch:. A look authored once travels across all of them — and across your own lenses — as a single value.

Comments

Comments are GitHub Discussions — reply from either place.