AdaptiveLayoutWidget class

A widget that adapts its layout based on screen size, platform, and orientation.

It uses a system of breakpoints and slots to build responsive UIs. The AdaptiveLayoutWidget determines the active breakpoint based on the current screen width and platform, then builds the UI by invoking the appropriate SlotBuilderType for each defined LayoutSlot.

It supports animations during layout transitions and provides mechanisms for handling platform-specific navigation patterns like Material drawers and Cupertino panes.

Inheritance

Constructors

AdaptiveLayoutWidget({Key? key, required Map<LayoutSlot, SlotBuilderType> slotBuilders, List<PlatformBreakpointConfig>? platformBreakpointConfigs, Duration animationDuration = const Duration(milliseconds: 300), Curve animationCurve = Curves.easeInOut, Widget? defaultBody})
Creates an AdaptiveLayoutWidget.
const

Properties

animationCurve Curve
The curve for animations when switching between layouts.
final
animationDuration Duration
The duration for animations when switching between layouts due to breakpoint changes (e.g., screen resize, orientation change).
final
defaultBody Widget?
A default widget to display in the LayoutSlot.body if no builder for LayoutSlot.body is provided in slotBuilders.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
platformBreakpointConfigs List<PlatformBreakpointConfig>?
Defines breakpoint configurations for various platforms (e.g., iOS, Android, Web).
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
slotBuilders Map<LayoutSlot, SlotBuilderType>
A map of slot builders. Keys are LayoutSlot enums, and values are SlotBuilderType instances which define how to build a widget for that slot.
final

Methods

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