FlutterSExtensions class
Manages shared Flutter context and view dependencies for extension getters.
This singleton-style utility stores a FlutterView and derived
MediaQueryData so extension properties like 0.2.screenWidth can be
accessed without passing a BuildContext explicitly.
Initialization patterns:
- Lazy: If you don't call init, the first access attempts a lazy
initialization using
WidgetsBinding.instance.platformDispatcher.views.first. This generally works afterrunApp, but will throw if no view is available (e.g., early in tests). - Explicit: Call init with a
BuildContextas early as possible. A convenient place isMaterialApp.builderorWidgetsApp.builder:
MaterialApp(
builder: (context, child) {
FlutterSExtensions.update(context); // keeps data fresh on hot reload
return child!;
},
home: const MyHomePage(),
)
Hot reload: Use update inside a widget builder to refresh the stored
FlutterView and MediaQueryData whenever the tree rebuilds, including hot
reloads and route changes.
- Mixed-in types
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
didChangeAccessibilityFeatures(
) → void -
Called when the system changes the set of currently active accessibility
features.
inherited
-
didChangeAppLifecycleState(
AppLifecycleState state) → void -
Called when the system puts the app in the background or returns
the app to the foreground.
inherited
-
didChangeLocales(
List< Locale> ? locales) → void -
Called when the system tells the app that the user's locale has
changed. For example, if the user changes the system language
settings.
inherited
-
didChangeMetrics(
) → void -
Reacts to metric changes (e.g., orientation, window resize) and refreshes
the cached
MediaQueryData. This supports dynamic screen changes.override -
didChangePlatformBrightness(
) → void -
Called when the platform brightness changes.
inherited
-
didChangeTextScaleFactor(
) → void -
Called when the platform's text scale factor changes.
inherited
-
didChangeViewFocus(
ViewFocusEvent event) → void -
Called whenever the PlatformDispatcher receives a notification that the
focus state on a view has changed.
inherited
-
didHaveMemoryPressure(
) → void -
Called when the system is running low on memory.
inherited
-
didPopRoute(
) → Future< bool> -
Called when the system tells the app to pop the current route, such as
after a system back button press or back gesture.
inherited
-
didPushRoute(
String route) → Future< bool> -
Called when the host tells the application to push a new route onto the
navigator.
inherited
-
didPushRouteInformation(
RouteInformation routeInformation) → Future< bool> -
Called when the host tells the application to push a new
RouteInformation and a restoration state onto the router.
inherited
-
didRequestAppExit(
) → Future< AppExitResponse> -
Called when a request is received from the system to exit the application.
inherited
-
handleCancelBackGesture(
) → void -
Called when a predictive back gesture is canceled, indicating that no
navigation should occur.
inherited
-
handleCommitBackGesture(
) → void -
Called when a predictive back gesture is finished successfully, indicating
that the current route should be popped.
inherited
-
handleStartBackGesture(
PredictiveBackEvent backEvent) → bool -
Called at the start of a predictive back gesture.
inherited
-
handleUpdateBackGestureProgress(
PredictiveBackEvent backEvent) → void -
Called when a predictive back gesture moves.
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
- isInitialized → bool
-
Returns whether initialization has happened and the data is ready.
no setter
Static Methods
-
init(
[BuildContext? context]) → void - Initialize the shared context.
-
mediaQuery(
) → MediaQueryData -
Returns the current
MediaQueryData, ensuring initialization. -
reset(
) → void - Reset stored references. Useful for tests or full app restarts.
-
update(
BuildContext context) → void -
Update the stored view and media using the latest
context.