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
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- AdaptiveLayoutWidget
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