GlassButtonGroupItem class

A lightweight data class representing a single item in a GlassButtonGroup.

Unlike GlassButton, a GlassButtonGroupItem carries no widget state — no animation controllers, no stretch physics, no glow overlays. The parent GlassButtonGroup provides the glass surface and renders each item as a simple icon with a press-dim highlight.

Basic tap item

GlassButtonGroup.icons(
  items: [
    GlassButtonGroupItem(icon: Icon(CupertinoIcons.bold), onTap: () {}),
    GlassButtonGroupItem(icon: Icon(CupertinoIcons.italic), onTap: () {}),
    GlassButtonGroupItem(icon: Icon(CupertinoIcons.underline), onTap: () {}),
  ],
)

Use GlassButtonGroupItem.menu to make an item open a GlassMenu pull-down when tapped. This mirrors UIBarButtonItem.menu within a UIBarButtonItemGroup.

GlassButtonGroup.icons(
  items: [
    GlassButtonGroupItem(icon: Icon(CupertinoIcons.chart_bar), onTap: () {}),
    GlassButtonGroupItem.menu(
      icon: Icon(CupertinoIcons.ellipsis),
      menuItems: [
        GlassMenuItem(title: 'Copy', onTap: () {}),
        GlassMenuDivider(),
        GlassMenuItem(title: 'Delete', isDestructive: true, onTap: () {}),
      ],
    ),
  ],
)

Constructors

GlassButtonGroupItem({required Widget icon, required VoidCallback onTap, String? label, bool enabled = true})
Creates a group item with an icon and tap callback.
const
GlassButtonGroupItem.menu({required Widget icon, required List<Widget> menuItems, GlassMenuAlignment? menuAlignment, double menuWidth = 200, String? label})
Creates a group item that opens a GlassMenu pull-down when tapped.
const

Properties

enabled → bool
Whether the item is interactive.
final
hashCode → int
The hash code for this object.
no setterinherited
icon → Widget
The icon widget to display.
final
label → String?
Optional semantic label for accessibility.
final
Controls where the menu expands relative to the trigger button.
final
When non-null, tapping this item opens a GlassMenu pull-down.
final
Width of the expanded menu panel in logical pixels.
final
onTap → VoidCallback
Called when the item is tapped.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

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