ProgrammaticExpansionTile class

A single-line ListTile with a trailing button that expands or collapses the tile to reveal or hide the children.

This widget is typically used with ListView to create an "expand / collapse" list entry. When used with scrolling widgets like ListView, a unique PageStorageKey must be specified to enable the ProgrammaticExpansionTile to save and restore its expanded state when it is scrolled in and out of view.

See also:

Inheritance

Constructors

ProgrammaticExpansionTile({required Key key, required Key listKey, Widget? leading, required Widget? title, Widget? subtitle, bool isThreeLine = false, Color? backgroundColor, ValueChanged<bool>? onExpansionChanged, List<Widget?> children = const <Widget>[], Widget? trailing, bool initiallyExpanded = false, bool disableTopAndBottomBorders = false})
Creates a single-line ListTile with a trailing button that expands or collapses the tile to reveal or hide the children. The initiallyExpanded property must be non-null.
const

Properties

backgroundColor Color?
The color to display behind the sublist when expanded.
final
children List<Widget?>
The widgets that are displayed when the tile expands.
final
disableTopAndBottomBorders bool
Disable to borders displayed at the top and bottom when expanded
final
hashCode int
The hash code for this object.
no setterinherited
initiallyExpanded bool
Specifies if the list tile is initially expanded (true) or collapsed (false, the default).
final
isThreeLine bool
Additional content displayed below the title.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
leading Widget?
A widget to display before the title.
final
listKey Key
final
onExpansionChanged ValueChanged<bool>?
Called when the tile expands or collapses.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
subtitle Widget?
Additional content displayed below the title.
final
title Widget?
The primary content of the list item.
final
trailing Widget?
A widget to display instead of a rotating arrow icon.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() ProgrammaticExpansionTileState
Creates the mutable state for this widget at a given location in the tree.
override
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}) 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