GlassToolbar class

A glass morphism toolbar following Apple's iOS 26 design patterns.

GlassToolbar provides a sophisticated bottom toolbar for actions, utilizing the liquid glass material. It is typically used at the bottom of the screen to present a set of actions relevant to the current context.

Unlike GlassTabBar.bottom which is for navigation, GlassToolbar is for actions (e.g., "Edit", "Share", "Delete").

Key Features

  • Liquid Glass Material: Translucent, blurring background that floats over content.
  • Flexible Layout: Supports any children, typically GlassButtons.
  • Customizable: Control height, alignment, and glass settings.
  • iOS 26 Compliance: Matches the visual style of system toolbars.

Usage

Basic Usage

Scaffold(
  body: Container(), // Your content
  bottomNavigationBar: GlassToolbar(
    children: [
      GlassButton.icon(
        icon: CupertinoIcons.share,
        onTap: () {},
        label: 'Share',
      ),
      const Spacer(), // Use Spacer for layout control
      GlassButton.icon(
        icon: CupertinoIcons.add,
        onTap: () {},
        label: 'Add',
      ),
    ],
  ),
)

Custom Alignment

GlassToolbar(
  alignment: MainAxisAlignment.spaceAround,
  children: [
    // ... buttons
  ],
)
Inheritance

Constructors

GlassToolbar({required List<Widget> children, Key? key, double height = 44.0, MainAxisAlignment alignment = MainAxisAlignment.spaceBetween, LiquidGlassSettings? settings, EdgeInsetsGeometry padding = const EdgeInsets.symmetric(horizontal: 16, vertical: 8), GlassQuality? quality, Color? backgroundColor})
Creates a glass toolbar.
const

Properties

alignment → MainAxisAlignment
How the children should be placed along the horizontal axis.
final
backgroundColor → Color?
Optional background color override.
final
children → List<Widget>
The action buttons to display in the toolbar.
final
hashCode → int
The hash code for this object.
no setterinherited
height → double
Height of the toolbar content area.
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
padding → EdgeInsetsGeometry
Padding around the content.
final
quality → GlassQuality?
Rendering quality for the glass effect.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
settings → LiquidGlassSettings?
Glass effect settings.
final

Methods

build(BuildContext context) → Widget
Describes the part of the user interface represented by this widget.
override
createElement() → StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) → String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String
Returns a one-line detailed description of the object.
inherited
toStringShort() → String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited