ExpansionPanelList class Null safety

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

Note that expansionCallback behaves differently for ExpansionPanelList and ExpansionPanelList.radio.

Here is a simple example of how to implement ExpansionPanelList.
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, ExpansionPanelCallback? expansionCallback, Duration animationDuration, EdgeInsets expandedHeaderPadding, Color? dividerColor, double elevation})
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, ExpansionPanelCallback? expansionCallback, Duration animationDuration, Object? initialOpenPanelValue, EdgeInsets expandedHeaderPadding, Color? dividerColor, double elevation})
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
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. [...]
@nonVirtual, read-only, inherited
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. [...]
final, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

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. [...]
@protected, inherited
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, inherited