RouteConditionalLayout class final

A conditional layout for routes that adapts based on specified conditions.

Allows defining different layouts for routes based on conditions like:

  • Screen size
  • Platform
  • Theme mode
  • Authentication state

Example:

final layout = RouteConditionalLayout(
  cases: [
    LayoutCase(
      condition: ScreenSize(),
      layout: MobileLayout(),
    ),
  ],
  defaultCase: DesktopLayout(),
  condition: ScreenSize(),
);
Inheritance
Annotations
  • @JsonSerializable.new()

Constructors

RouteConditionalLayout({required List<LayoutCaseItem> cases, required String defaultCase, required Condition condition})
RouteConditionalLayout.fromJson(Map<String, dynamic> json)
factory

Properties

cases → List<LayoutCaseItem>
finalinherited
condition → Condition
finalinherited
contentType → Type
finalinherited
defaultCase → String
finalinherited
hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
schemaType → String
The schema type of the content item.
finalinherited

Methods

build(BuildContext context, Route content) → Widget
Builds the layout widget tree for the given content item.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

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

Static Properties

typeDescriptor → TypeDescriptor<RouteConditionalLayout>
final

Constants

schemaName → const String