Connective class

A widget that rebuilds based on connectivity state.

Provides different builders for different connection types, or a general builder that receives the connectivity state.

Example with specific builders:

Connective(
  onWifi: Text('Connected via WiFi'),
  onMobile: Text('Connected via Mobile Data'),
  onNone: Text('No connection'),
)

Example with builder:

Connective.builder(
  builder: (context, state, results) {
    if (state == NyConnectivityState.none) {
      return OfflineBanner();
    }
    return child;
  },
)
Inheritance
Available extensions

Constructors

Connective({Key? key, Widget? onWifi, Widget? onMobile, Widget? onEthernet, Widget? onVpn, Widget? onBluetooth, Widget? onOther, Widget? onNone, Widget? child, bool showLoadingOnInit = false, Widget? loadingWidget, void onConnectivityChanged(NyConnectivityState state, List<ConnectivityResult> results)?})
Creates a Connective widget with specific builders for each state.
const
Connective.builder({Key? key, required Widget builder(BuildContext context, NyConnectivityState state, List<ConnectivityResult> results)?, bool showLoadingOnInit = false, Widget? loadingWidget, void onConnectivityChanged(NyConnectivityState state, List<ConnectivityResult> results)?})
Creates a Connective widget with a custom builder.
const

Properties

builder Widget Function(BuildContext context, NyConnectivityState state, List<ConnectivityResult> results)?
Builder function for custom handling.
final
child Widget?
Default widget to show if no specific handler is provided.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
loadingWidget Widget?
Custom loading widget.
final
onBluetooth Widget?
Widget to show when connected via Bluetooth.
final
onConnectivityChanged → void Function(NyConnectivityState state, List<ConnectivityResult> results)?
Callback when connectivity changes.
final
onEthernet Widget?
Widget to show when connected via Ethernet.
final
onMobile Widget?
Widget to show when connected via mobile data.
final
onNone Widget?
Widget to show when offline.
final
onOther Widget?
Widget to show for other connection types.
final
onVpn Widget?
Widget to show when connected via VPN.
final
onWifi Widget?
Widget to show when connected via WiFi.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
showLoadingOnInit bool
Whether to show a loading indicator while checking initial state.
final

Methods

connectiveOr({required Widget offline}) Widget

Available on Widget, provided by the ConnectiveExtension extension

Wraps the widget in a Connective that shows an offline placeholder.
createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<Connective>
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
faderBottom({double strength = 0.2, Color color = Colors.black}) FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the bottom of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderFrom({double strength = 0.2, Color color = Colors.black, AlignmentGeometry begin = Alignment.topCenter, AlignmentGeometry end = Alignment.bottomCenter}) FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader with custom alignment. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderLeft({double strength = 0.2, Color color = Colors.black}) FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the left of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderRight({double strength = 0.2, Color color = Colors.black}) FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the right of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderTop({double strength = 0.2, Color color = Colors.black}) FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the top of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
flexible({Key? key, int flex = 1, FlexFit fit = FlexFit.loose}) Flexible

Available on StatefulWidget, provided by the NyStatefulExt extension

Make a StatefulWidget Flexible.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onlyOffline() Widget

Available on Widget, provided by the ConnectiveExtension extension

Only shows the widget when offline, otherwise shows nothing.
onlyOnline() Widget

Available on Widget, provided by the ConnectiveExtension extension

Only shows the widget when online, otherwise shows nothing.
pullable({required Future<void> onRefresh()?, PullableConfig? pullableConfig}) Widget

Available on Widget, provided by the NyWidgetExt extension

Make a widget pullable using the Pullable widget.
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toSkeleton({Key? key, bool? ignoreContainers, bool? justifyMultiLineText, Color? containersColor, bool ignorePointers = true, bool enabled = true, PaintingEffect? effect, TextBoneBorderRadius? textBoneBorderRadius}) → Skeletonizer

Available on Widget, provided by the NyWidgetExt extension

Make a widget a skeleton using the Skeletonizer package.
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