GlassListTile class

A glass-aesthetic list tile following iOS 26 grouped row design.

GlassListTile is the glass design system's equivalent of Flutter's ListTile, designed to sit inside a GlassCard or GlassContainer.

When grouped is true (default), tiles share a glass layer and automatically draw separators between them. When standalone, each tile has its own layer.

Usage inside a grouped card:

GlassCard(
  padding: EdgeInsets.zero,
  child: Column(
    children: [
      GlassListTile(
        leading: Icon(CupertinoIcons.person, color: Colors.white),
        title: Text('Account'),
      ),
      GlassListTile(
        leading: Icon(CupertinoIcons.bell, color: Colors.white),
        title: Text('Notifications'),
        trailing: GlassListTile.chevron,
      ),
      GlassListTile(
        leading: Icon(CupertinoIcons.lock, color: Colors.white),
        title: Text('Privacy'),
        subtitle: Text('Manage your data'),
        trailing: GlassListTile.chevron,
        isLast: true,
      ),
    ],
  ),
)

Standalone tile (own glass layer):

GlassListTile.standalone(
  leading: Icon(CupertinoIcons.star_fill, color: Colors.yellow),
  title: Text('Featured'),
  onTap: () { },
)
Inheritance

Constructors

GlassListTile({Key? key, Widget? leading, required Widget title, Widget? subtitle, Widget? trailing, VoidCallback? onTap, VoidCallback? onLongPress, bool isLast = false, EdgeInsetsGeometry contentPadding = const EdgeInsets.symmetric(horizontal: 16, vertical: 12), Color? leadingIconColor, TextStyle? titleStyle, TextStyle? subtitleStyle, bool showDivider = true, double? dividerIndent})
Creates a glass list tile for use inside a GlassCard or other glass container. Does not create its own glass layer.
const
GlassListTile.standalone({Key? key, Widget? leading, required Widget title, Widget? subtitle, Widget? trailing, VoidCallback? onTap, VoidCallback? onLongPress, EdgeInsetsGeometry contentPadding = const EdgeInsets.symmetric(horizontal: 16, vertical: 12), Color? leadingIconColor, TextStyle? titleStyle, TextStyle? subtitleStyle, LiquidGlassSettings? settings, GlassQuality? quality})
Creates a standalone glass list tile that manages its own glass layer.
const

Properties

contentPadding EdgeInsetsGeometry
Padding inside the tile around the content row.
final
dividerIndent double?
Leading indent for the bottom divider.
final
hashCode int
The hash code for this object.
no setterinherited
isLast bool
Whether this is the last tile in a group.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
leading Widget?
Widget displayed at the start (left) of the tile.
final
leadingIconColor Color?
Tint applied to leading icon colour.
final
onLongPress VoidCallback?
Called when the user long-presses the tile.
final
onTap VoidCallback?
Called when the user taps the tile.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
showDivider bool
Whether to draw a GlassDivider below this tile.
final
subtitle Widget?
Optional secondary content displayed under title.
final
subtitleStyle TextStyle?
Text style for subtitle.
final
title Widget
Primary content. Typically a Text widget.
final
titleStyle TextStyle?
Text style for title.
final
trailing Widget?
Widget displayed at the end (right) of the tile.
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

Static Properties

chevron Widget
A standard iOS-style disclosure chevron for use as trailing.
no setter
infoButton Widget
A standard iOS-style detail disclosure (circle with 'i') for trailing.
no setter