ResponsiveViewState<Page extends View, Con extends Controller> class abstract

The ResponsiveViewState represents the State of a StatefulWidget, typically of a screen or a page. The ResponsiveViewState requires a Controller to handle its events and provide its data.

The ResponsiveViewState allow us to provide until four build methods to abstract responsiveness for the developer, and the screen renders the view based on MediaQuery screen width managed by ScreenTypeLayout.builder.

The ResponsiveViewState also has a default globalKey that can be used inside its builds function in a widget to grant easy access to the Controller, which could then use it to display snackbars, dialogs, and so on.

The ResponsiveViewState lifecycle is also handled by the Controller.

You can optionally define builders for layouts that you want to implement (It will always give priority to bigger to smaller resolutions (e.g: If desktop isn't provided on desktop resolution, it will try to build tablet and forward)

    class CounterState extends ResponsiveViewState<CounterPage, CounterController> {
      CounterState(CounterController controller) : super(controller);

      @override
      ViewBuilder mobileBuilder = (BuildContext context) {
        return Text("Mobile view");
      };

      @override
      ViewBuilder tabletBuilder = (BuildContext context) {
        return Text("Tablet view");
      };

      @override
      ViewBuilder desktopBuilder = (BuildContext context) {
        return Text("Desktop view");
      };

      @override
      ViewBuilder watchBuilder = (BuildContext context) {
        return Text("Watch view");
      };
    }

You can optionally set globally new default values for breakpoints. To do so, just check on FlutterCleanArchitecture.setDefaultViewBreakpoints

Inheritance

Constructors

ResponsiveViewState(Con controller)

Properties

builder ViewBuilder
getter/setter pairinherited
context BuildContext
The location in the tree where this widget builds.
no setterinherited
desktopView Widget
To be implemented by the developer which will build on Desktop ViewPort. The default breakpoint value is 950
no setter
globalKey GlobalKey<State<StatefulWidget>>
finalinherited
hashCode int
The hash code for this object.
no setterinherited
mobileView Widget
To be implemented by the developer which will build on Mobile ViewPort. The default breakpoint value is more than 375
no setter
mounted bool
Whether this State object is currently in a tree.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
tabletView Widget
To be implemented by the developer which will build on Tablet/Pad ViewPort. The default breakpoint value is 600
no setter
view Widget
This turns view into an implicit method that build according to the given builds methods: MOBILE, TABLET, DESKTOP and WATCH. The Default Viewport is MOBILE. When TABLET or DESKTOP builds are null, MOBILE viewport will be called.
no setteroverride
watchView Widget
To be implemented by the developer which will build on Watch ViewPort. The default breakpoint value is less than 300
no setter
widget → Page
The current configuration.
no setterinherited

Methods

activate() → void
Called when this object is reinserted into the tree after having been removed via deactivate.
inherited
build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
inherited
deactivate() → void
Called when this object is removed from the tree.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
didChangeDependencies() → void
Called when a dependency of this State object changes.
inherited
didUpdateWidget(covariant Page oldWidget) → void
Called whenever the widget configuration changes.
inherited
dispose() → void
Called when this object is removed from the tree permanently.
inherited
initState() → void
Called when this object is inserted into the tree.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
reassemble() → void
Called whenever the application is reassembled during debugging, for example during hot reload.
inherited
setState(VoidCallback fn) → void
Notify the framework that the internal state of this object has changed.
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.
inherited