ExpansionPanelList class

A material expansion panel list that lays out its children and animates expansions.

The expansionCallback is called when the expansion state changes. For normal ExpansionPanelList widgets, it is the responsibility of the parent widget to rebuild the ExpansionPanelList with updated values for ExpansionPanel.isExpanded. For ExpansionPanelList.radio widgets, the open state is tracked internally and the callback is invoked both for the previously open panel, which is closing, and the previously closed panel, which is opening.

Here is a simple example of how to use ExpansionPanelList.
link

To create a local project with this code sample, run:
flutter create --sample=material.ExpansionPanelList.1 mysample

See also:

Inheritance

Constructors

ExpansionPanelList({Key? key, List<ExpansionPanel> children = const <ExpansionPanel>[], ExpansionPanelCallback? expansionCallback, Duration animationDuration = kThemeAnimationDuration, EdgeInsets expandedHeaderPadding = _kPanelHeaderExpandedDefaultPadding, Color? dividerColor, double elevation = 2, Color? expandIconColor, double materialGapSize = 16.0})
Creates an expansion panel list widget. The expansionCallback is triggered when an expansion panel expand/collapse button is pushed.
const
ExpansionPanelList.radio({Key? key, List<ExpansionPanel> children = const <ExpansionPanelRadio>[], ExpansionPanelCallback? expansionCallback, Duration animationDuration = kThemeAnimationDuration, Object? initialOpenPanelValue, EdgeInsets expandedHeaderPadding = _kPanelHeaderExpandedDefaultPadding, Color? dividerColor, double elevation = 2, Color? expandIconColor, double materialGapSize = 16.0})
Creates a radio expansion panel list widget.
const

Properties

animationDuration Duration
The duration of the expansion animation.
final
children List<ExpansionPanel>
The children of the expansion panel list. They are laid out in a similar fashion to ListBody.
final
dividerColor Color?
Defines color for the divider when ExpansionPanel.isExpanded is false.
final
elevation double
Defines elevation for the ExpansionPanel while it's expanded.
final
expandedHeaderPadding EdgeInsets
The padding that surrounds the panel header when expanded.
final
expandIconColor Color?
The color of the icon.
final
expansionCallback ExpansionPanelCallback?
The callback that gets called whenever one of the expand/collapse buttons is pressed. The arguments passed to the callback are the index of the pressed panel and whether the panel is currently expanded or not.
final
hashCode int
The hash code for this object.
no setterinherited
initialOpenPanelValue Object?
The value of the panel that initially begins open. (This value is only used when initializing with the ExpansionPanelList.radio constructor.)
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
materialGapSize double
Defines the MaterialGap.size of the MaterialGap which is placed between the ExpansionPanelList.children when they're expanded.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<StatefulWidget>
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, 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