GetResponsiveMixin mixin
A mixin that facilitates building responsive widgets by providing methods to conditionally choose which widget to build based on the screen type.
This mixin requires the implementation of two getters: screen
and
alwaysUseBuilder
. The screen
getter should return a ResponsiveScreen
object, which provides information about the screen size and type. The
alwaysUseBuilder
getter should return a boolean value indicating whether
the builder
method should always be used, regardless of the screen type.
The build
method is overridden to conditionally choose which widget to
build based on the screen type and the provided methods (builder
,
desktop
, phone
, tablet
, watch
). If alwaysUseBuilder
is set to true
and builder
is not null, the builder
method is always used. Otherwise,
the method corresponding to the current screen type is invoked. If a method
corresponding to the current screen type is null, the method corresponding
to a larger screen type is used as a fallback. If none of the methods are
provided, the builder
method is used as a final fallback.
- Superclass constraints
- Mixin applications
Properties
- alwaysUseBuilder → bool
-
Gets a boolean value indicating whether the
builder
method should always be used, regardless of the screen type.no setter - hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- screen → ResponsiveScreen
-
Gets the ResponsiveScreen object, which provides information about the
screen size and type.
no setter
Methods
-
build(
BuildContext context) → Widget -
Overrides the build method to conditionally choose which widget to build
based on the screen type and the provided methods (
builder
,desktop
,phone
,tablet
,watch
). -
builder(
) → Widget? - A method to build the widget when the screen type matches no specific condition.
-
createElement(
) → Element -
Inflates this configuration to a concrete instance.
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
-
desktop(
) → Widget? - A method to build the widget specifically for desktop screens.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
phone(
) → Widget? - A method to build the widget specifically for phone screens.
-
tablet(
) → Widget? - A method to build the widget specifically for tablet screens.
-
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}) → 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
-
watch(
) → Widget? - A method to build the widget specifically for watch screens.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited