SliverStickyCollapsablePanel class

A sliver that displays a header before its sliver and can allow click to collapse. The header scrolls off the viewport only when the sliver does.

Place this widget inside a CustomScrollView or similar.

Inheritance

Constructors

SliverStickyCollapsablePanel({Key? key, required ScrollController scrollController, required StickyCollapsablePanelController controller, required HeaderBuilder headerBuilder, Widget? sliverPanel, bool sticky = true, bool overlapsContent = false, bool defaultExpanded = true, ExpandCallback? expandCallback, bool disableCollapsable = false, bool iOSStyleSticky = false, EdgeInsetsGeometry paddingBeforeCollapse = const EdgeInsets.only(), EdgeInsetsGeometry paddingAfterCollapse = const EdgeInsets.only()})
const
SliverStickyCollapsablePanel.builder({Key? key, required ScrollController scrollController, required StickyCollapsablePanelController controller, required HeaderBuilder headerBuilder, Widget? sliver, bool sticky = true, bool overlapsContent = false, bool defaultExpanded = true, ExpandCallback? expandCallback, bool disableCollapsable = false, bool iOSStyleSticky = false, EdgeInsetsGeometry paddingBeforeCollapse = const EdgeInsets.only(), EdgeInsetsGeometry paddingAfterCollapse = const EdgeInsets.only()})
const

Properties

defaultExpanded bool
final
disableCollapsable bool
final
expandCallback ExpandCallback?
final
hashCode int
The hash code for this object.
no setterinherited
headerBuilder HeaderBuilder
The header to display before the sliver panel content.
final
iOSStyleSticky bool
Like the iOS contact, header replace another header when it reaches the edge
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
overlapsContent bool
Whether the header should be drawn on top of the sliver instead of before.
final
paddingAfterCollapse EdgeInsetsGeometry
Padding used for sliver child after collapse, it means even it's collapsed, Padding still exist between headers
final
paddingBeforeCollapse EdgeInsetsGeometry
Padding used for sliver child before collapse
final
panelController StickyCollapsablePanelController
The controller used to interact with this sliver.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scrollController ScrollController
final
sliverPanel Widget?
The sliver to display after the header as panel content.
final
sticky bool
Whether to stick the header. Defaults to true.
final

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}) 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