DraggablePanelThemeData class final

Visual and motion tokens for a DraggablePanel.

Every token is nullable, meaning "inherit". Values resolve in three layers: built-in defaults derived from the ambient ColorScheme, then any DraggablePanelThemeData registered in ThemeData.extensions, then the theme passed to the widget itself.

Register it app-wide like any other extension:

ThemeData(extensions: [DraggablePanelThemeData(elevation: 10)])
Inheritance
Mixed-in types
Annotations

Constructors

DraggablePanelThemeData({ShapeBorder? collapsedShape, ShapeBorder? shape, ShapeBorder? stashedShape, Clip? clipBehavior, Color? surfaceColor, ImageFilter? surfaceFilter, Color? shadowColor, double? elevation, double? draggingElevation, double? expandedElevation, double? stashedElevation, double? stashedOpacity, Size? collapsedSize, PanelExtent? expandedExtent, EdgeInsetsGeometry? margin, double? stashedPeek, Size? stashedSize, Color? handleColor, Size? handleSize, double? handleStrokeWidth, Size? minimumTapTarget, PanelMotionSpec? motion})
const

Properties

clipBehavior → Clip?
final
collapsedShape → ShapeBorder?
Shape of the panel while collapsed.
final
collapsedSize → Size?
Size of the collapsed panel, floored by minimumTapTarget.
final
draggingElevation → double?
Elevation while a pointer is dragging the panel, lifting it off the page.
final
elevation → double?
Elevation while collapsed and at rest.
final
expandedElevation → double?
Elevation while expanded.
final
expandedExtent → PanelExtent?
How large the panel becomes when expanded.
final
handleColor → Color?
Colour of the grab affordance drawn on that tab.
final
handleSize → Size?
Box the grab affordance's curve is drawn in, centred on the tab.
final
handleStrokeWidth → double?
Stroke width of that curve.
final
hashCode → int
The hash code for this object.
no setteroverride
margin → EdgeInsetsGeometry?
Inset kept between the panel and the safe area.
final
minimumTapTarget → Size?
Lower bound applied to collapsedSize so the panel stays tappable.
final
motion → PanelMotionSpec?
Springs and thresholds governing how the panel moves.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
shadowColor → Color?
final
shape → ShapeBorder?
Shape of the panel while expanded, interpolated towards from collapsedShape as the panel grows.
final
stashedElevation → double?
Elevation while parked at an edge, where the panel is tucked into the screen rather than hovering over the page.
final
stashedOpacity → double?
Opacity applied while the panel is stashed against an edge.
final
stashedPeek → double?
How much of a stashed panel stays on-screen as a grab tab.
final
stashedShape → ShapeBorder?
Shape of the panel while parked at an edge, interpolated towards collapsedShape as it is drawn out.
final
stashedSize → Size?
Size the panel takes while parked at an edge.
final
surfaceColor → Color?
final
surfaceFilter → ImageFilter?
Filter applied to whatever is behind the panel, clipped to its shape.
final
type → Object
The extension's type.
no setterinherited

Methods

copyWith({ShapeBorder? collapsedShape, ShapeBorder? shape, ShapeBorder? stashedShape, Clip? clipBehavior, Color? surfaceColor, ImageFilter? surfaceFilter, Color? shadowColor, double? elevation, double? draggingElevation, double? expandedElevation, double? stashedElevation, double? stashedOpacity, Size? collapsedSize, PanelExtent? expandedExtent, EdgeInsetsGeometry? margin, double? stashedPeek, Size? stashedSize, Color? handleColor, Size? handleSize, double? handleStrokeWidth, Size? minimumTapTarget, PanelMotionSpec? motion}) → DraggablePanelThemeData
Creates a copy of this theme extension with the given fields replaced by the non-null parameter values.
override
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
override
lerp(covariant DraggablePanelThemeData? other, double t) → DraggablePanelThemeData
Interpolates towards other, so a theme swap crossfades rather than snaps.
override
merge(DraggablePanelThemeData? other) → DraggablePanelThemeData
Returns a copy with every non-null token of other laid over this one.
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
toStringShort() → String
A brief description of this object, usually just the runtimeType and the hashCode.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
override