ExpansionTile class Null safety
A single-line ListTile with an expansion arrow icon 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 ExpansionTile to save and restore its expanded state when it is scrolled in and out of view.
This class overrides the ListTileThemeData.iconColor and ListTileThemeData.textColor theme properties for its ListTile. These colors animate between values when the tile is expanded and collapsed: between iconColor, collapsedIconColor and between textColor and collapsedTextColor.
The expansion arrow icon is shown on the right by default in left-to-right languages (i.e. the trailing edge). This can be changed using controlAffinity. This maps to the leading and trailing properties of ExpansionTile.
flutter create --sample=material.ExpansionTile.1 mysample
See also:
- ListTile, useful for creating expansion tile children when the expansion tile represents a sublist.
- The "Expand and collapse" section of material.io/components/lists#types
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- ExpansionTile
Constructors
-
ExpansionTile({Key? key, Widget? leading, required Widget title, Widget? subtitle, ValueChanged<
bool> ? onExpansionChanged, List<Widget> children = const <Widget>[], Widget? trailing, bool initiallyExpanded = false, bool maintainState = false, EdgeInsetsGeometry? tilePadding, CrossAxisAlignment? expandedCrossAxisAlignment, Alignment? expandedAlignment, EdgeInsetsGeometry? childrenPadding, Color? backgroundColor, Color? collapsedBackgroundColor, Color? textColor, Color? collapsedTextColor, Color? iconColor, Color? collapsedIconColor, ListTileControlAffinity? controlAffinity}) -
Creates a single-line ListTile with an expansion arrow icon 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
- childrenPadding → EdgeInsetsGeometry?
-
Specifies padding for children.
final
- collapsedBackgroundColor → Color?
-
When not null, defines the background color of tile when the sublist is collapsed.
final
- collapsedIconColor → Color?
-
The icon color of tile's expansion arrow icon when the sublist is collapsed.
final
- collapsedTextColor → Color?
-
The color of the tile's titles when the sublist is collapsed.
final
- controlAffinity → ListTileControlAffinity?
-
Typically used to force the expansion arrow icon to the tile's leading or trailing edge.
final
- expandedAlignment → Alignment?
-
Specifies the alignment of children, which are arranged in a column when
the tile is expanded.
final
- expandedCrossAxisAlignment → CrossAxisAlignment?
-
Specifies the alignment of each child within children when the tile is expanded.
final
- hashCode → int
- The hash code for this object.
- iconColor → Color?
-
The icon color of tile's expansion arrow icon when the sublist is expanded.
final
- initiallyExpanded → bool
-
Specifies if the list tile is initially expanded (true) or collapsed (false, the default).
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- leading → Widget?
-
A widget to display before the title.
final
- maintainState → bool
-
Specifies whether the state of the children is maintained when the tile expands and collapses.
final
-
onExpansionChanged
→ ValueChanged<
bool> ? -
Called when the tile expands or collapses.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
read-onlyinherited
- subtitle → Widget?
-
Additional content displayed below the title.
final
- textColor → Color?
-
The color of the tile's titles when the sublist is expanded.
final
- tilePadding → EdgeInsetsGeometry?
-
Specifies padding for the ListTile.
final
- title → Widget
-
The primary content of the list item.
final
- trailing → Widget?
-
A widget to display after the title.
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< ExpansionTile> -
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.protected">@protectedinherited -
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent 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.
nonVirtual">@nonVirtualinherited