GlassGroupedSection class

A convenience wrapper that groups GlassListTiles inside a GlassCard.

GlassGroupedSection automatically injects GlassDividers between tiles, with smart leading-indent detection — 56px when the preceding tile has a GlassListTile.leading widget, 16px otherwise.

iOS 26 pattern

In iOS 26, Settings-style screens group related rows inside UITableView grouped sections. GlassGroupedSection provides the glass equivalent of that pattern.

Usage

GlassGroupedSection(
  header: const Text('NETWORK'),
  children: [
    GlassListTile(
      leading: Icon(CupertinoIcons.wifi, color: CupertinoColors.white),
      title: Text('Wi-Fi'),
      trailing: GlassListTile.chevron,
    ),
    GlassListTile(
      leading: Icon(CupertinoIcons.bluetooth, color: CupertinoColors.white),
      title: Text('Bluetooth'),
      trailing: GlassListTile.chevron,
    ),
    GlassListTile(
      leading: Icon(CupertinoIcons.antenna_radiowaves_left_right,
          color: CupertinoColors.white),
      title: Text('VPN'),
      trailing: GlassListTile.chevron,
    ),
  ],
)

Children

GlassGroupedSection is designed to contain GlassListTile rows and standard Flutter content. Do not place interactive glass controls (GlassSegmentedControl, GlassSlider, GlassSwitch, GlassButton) as direct children — this is a glass-in-glass anti-pattern that degrades refraction and can clip indicator animations. See GlassContainer for the full explanation.

Inheritance

Constructors

GlassGroupedSection({Key? key, required List<Widget> children, Widget? header, Widget? footer, EdgeInsetsGeometry? margin, LiquidShape? shape, LiquidGlassSettings? settings, bool useOwnLayer = false, GlassQuality? quality})
Creates a grouped section of glass list tiles.
const

Properties

children List<Widget>
The list tiles to display inside the section.
final
Optional footer displayed below the glass card.
final
hashCode int
The hash code for this object.
no setterinherited
Optional header displayed above the glass card.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
margin EdgeInsetsGeometry?
Empty space to surround the section card.
final
quality GlassQuality?
Rendering quality.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
settings LiquidGlassSettings?
Glass effect settings.
final
shape LiquidShape?
Shape of the glass card.
final
useOwnLayer bool
Whether to create its own glass layer.
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