ResponsiveLayout class
A widget that switches between layouts based on available width constraints.
Uses LayoutBuilder internally, which means it responds to the parent's constraints — not the full screen width. This is the correct behavior when the widget may be embedded inside constrained containers (sidebars, dialogs, split views).
For decisions based on actual screen width (e.g., font sizing, adaptive
values), use context.isMobile, context.isTablet, etc. from the
ResponsiveDimensions extension, which uses MediaQuery.
Breakpoints are driven by AdaptiFlowData configuration. Falls back to defaults when no AdaptiFlow ancestor is found.
ResponsiveLayout(
mobile: MobileHomePage(),
tablet: TabletHomePage(),
desktop: DesktopHomePage(),
widescreen: WidescreenHomePage(), // Optional
)
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- ResponsiveLayout
- Available extensions
Constructors
Properties
- desktop → Widget?
-
The widget to display on desktop-sized constraints.
Falls back to tablet ?? mobile if null.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- mobile → Widget
-
The widget to display on mobile-sized constraints (required).
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- tablet → Widget?
-
The widget to display on tablet-sized constraints.
Falls back to mobile if null.
final
- widescreen → Widget?
-
The widget to display on widescreen-sized constraints.
Falls back to desktop ?? tablet ?? mobile if null.
final
Methods
-
adaptiveConstrained(
BuildContext context) → Widget -
Available on Widget, provided by the ResponsiveConstraints extension
Responsive constraint based on device type, using config-driven max widths. -
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
override
-
constrained(
{double maxWidth = 800}) → Widget -
Available on Widget, provided by the ResponsiveConstraints extension
Centers the widget and ensures its width does not exceedmaxWidth. -
constrainedBoth(
{double maxWidth = 800, double maxHeight = 600}) → Widget -
Available on Widget, provided by the ResponsiveConstraints extension
Constrains widget with both max width and height. -
createElement(
) → StatelessElement -
Creates a StatelessElement to manage this widget's location in the tree.
inherited
-
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