MediaQuery class
Establishes a subtree in which media queries resolve to the given data.
For example, to learn the size of the current view (e.g.,
the FlutterView containing your app), you can use MediaQuery.sizeOf:
MediaQuery.sizeOf(context)
.
Querying the current media using specific methods (for example, MediaQuery.sizeOf or MediaQuery.paddingOf) will cause your widget to rebuild automatically whenever that specific property changes.
Querying using MediaQuery.of will cause your widget to rebuild automatically whenever any field of the MediaQueryData changes (e.g., if the user rotates their device). Therefore, unless you are concerned with the entire MediaQueryData object changing, prefer using the specific methods (for example: MediaQuery.sizeOf and MediaQuery.paddingOf), as it will rebuild more efficiently.
If no MediaQuery is in scope then MediaQuery.of and the "...Of" methods similar to MediaQuery.sizeOf will throw an exception. Alternatively, the "maybe-" variant methods (such as MediaQuery.maybeOf and MediaQuery.maybeSizeOf) can be used, which return null, instead of throwing, when no MediaQuery is in scope.
See also:
- WidgetsApp and MaterialApp, which introduce a MediaQuery and keep it up to date with the current screen metrics as they change.
- MediaQueryData, the data structure that represents the metrics.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- ProxyWidget
- InheritedWidget
- InheritedModel<
_MediaQueryAspect> - MediaQuery
Constructors
- MediaQuery({Key? key, required MediaQueryData data, required Widget child})
-
Creates a widget that provides MediaQueryData to its descendants.
const
- MediaQuery.removePadding({Key? key, required BuildContext context, bool removeLeft = false, bool removeTop = false, bool removeRight = false, bool removeBottom = false, required Widget child})
- Creates a new MediaQuery that inherits from the ambient MediaQuery from the given context, but removes the specified padding.
- MediaQuery.removeViewInsets({Key? key, required BuildContext context, bool removeLeft = false, bool removeTop = false, bool removeRight = false, bool removeBottom = false, required Widget child})
- Creates a new MediaQuery that inherits from the ambient MediaQuery from the given context, but removes the specified view insets.
- MediaQuery.removeViewPadding({Key? key, required BuildContext context, bool removeLeft = false, bool removeTop = false, bool removeRight = false, bool removeBottom = false, required Widget child})
- Creates a new MediaQuery that inherits from the ambient MediaQuery from the given context, but removes the specified view padding.
Properties
- child → Widget
-
The widget below this widget in the tree.
finalinherited
- data → MediaQueryData
-
Contains information about the current media.
final
- 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
Methods
-
createElement(
) → InheritedModelElement< _MediaQueryAspect> -
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.
override
-
isSupportedAspect(
Object aspect) → bool -
Returns true if this model supports the given
aspect
.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
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
-
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
-
updateShouldNotify(
covariant MediaQuery oldWidget) → bool -
Whether the framework should notify widgets that inherit from this widget.
override
-
updateShouldNotifyDependent(
covariant MediaQuery oldWidget, Set< Object> dependencies) → bool -
Return true if the changes between this model and
oldWidget
match any of thedependencies
.override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
- Returns MediaQueryData.accessibleNavigation for the nearest MediaQuery ancestor or throws an exception, if no such ancestor exists.
-
alwaysUse24HourFormatOf(
BuildContext context) → bool - Returns MediaQueryData.alwaysUse24HourFormat for the nearest MediaQuery ancestor or throws an exception, if no such ancestor exists.
-
boldTextOf(
BuildContext context) → bool - Returns the MediaQueryData.boldText accessibility setting for the nearest MediaQuery ancestor or false, if no such ancestor exists.
-
devicePixelRatioOf(
BuildContext context) → double - Returns MediaQueryData.devicePixelRatio for the nearest MediaQuery ancestor or throws an exception, if no such ancestor exists.
-
disableAnimationsOf(
BuildContext context) → bool - Returns MediaQueryData.disableAnimations for the nearest MediaQuery ancestor or false, if no such ancestor exists.
-
displayFeaturesOf(
BuildContext context) → List< DisplayFeature> - Returns MediaQueryData.displayFeatures for the nearest MediaQuery ancestor or throws an exception, if no such ancestor exists.
-
fromView(
{Key? key, required FlutterView view, required Widget child}) → Widget -
Wraps the
child
in a MediaQuery which is built using data from the providedview
. -
fromWindow(
{Key? key, required Widget child}) → Widget - Deprecated. Use MediaQuery.fromView instead.
-
gestureSettingsOf(
BuildContext context) → DeviceGestureSettings - Returns MediaQueryData.gestureSettings for the nearest MediaQuery ancestor or throws an exception, if no such ancestor exists.
-
highContrastOf(
BuildContext context) → bool - Returns MediaQueryData.highContrast for the nearest MediaQuery ancestor or false, if no such ancestor exists.
-
invertColorsOf(
BuildContext context) → bool - Returns MediaQueryData.invertColors for the nearest MediaQuery ancestor or throws an exception, if no such ancestor exists.
- Returns MediaQueryData.accessibleNavigation for the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybeAlwaysUse24HourFormatOf(
BuildContext context) → bool? - Returns MediaQueryData.alwaysUse24HourFormat for the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybeBoldTextOf(
BuildContext context) → bool? - Returns the MediaQueryData.boldText accessibility setting for the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybeDevicePixelRatioOf(
BuildContext context) → double? - Returns MediaQueryData.devicePixelRatio for the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybeDisableAnimationsOf(
BuildContext context) → bool? - Returns MediaQueryData.disableAnimations for the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybeDisplayFeaturesOf(
BuildContext context) → List< DisplayFeature> ? - Returns MediaQueryData.displayFeatures for the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybeGestureSettingsOf(
BuildContext context) → DeviceGestureSettings? - Returns MediaQueryData.gestureSettings for the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybeHighContrastOf(
BuildContext context) → bool? - Returns MediaQueryData.highContrast for the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybeInvertColorsOf(
BuildContext context) → bool? - Returns MediaQueryData.invertColors for the nearest MediaQuery ancestor or null, if no such ancestor exists.
- Returns MediaQueryData.navigationMode for the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybeOf(
BuildContext context) → MediaQueryData? - The data from the closest instance of this class that encloses the given context, if any.
-
maybeOnOffSwitchLabelsOf(
BuildContext context) → bool? - Returns MediaQueryData.onOffSwitchLabels for the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybeOrientationOf(
BuildContext context) → Orientation? - Returns MediaQueryData.orientation for the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybePaddingOf(
BuildContext context) → EdgeInsets? - Returns MediaQueryData.padding for the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybePlatformBrightnessOf(
BuildContext context) → Brightness? - Returns MediaQueryData.platformBrightness for the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybeSizeOf(
BuildContext context) → Size? - Returns MediaQueryData.size from the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybeSupportsShowingSystemContextMenu(
BuildContext context) → bool? - Returns MediaQueryData.supportsShowingSystemContextMenu for the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybeSystemGestureInsetsOf(
BuildContext context) → EdgeInsets? - Returns MediaQueryData.systemGestureInsets for the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybeTextScaleFactorOf(
BuildContext context) → double? - Deprecated. Will be removed in a future version of Flutter. Use maybeTextScalerOf instead.
-
maybeTextScalerOf(
BuildContext context) → TextScaler? - Returns the MediaQueryData.textScaler for the nearest MediaQuery ancestor or null if no such ancestor exists.
-
maybeViewInsetsOf(
BuildContext context) → EdgeInsets? - Returns MediaQueryData.viewInsets for the nearest MediaQuery ancestor or null, if no such ancestor exists.
-
maybeViewPaddingOf(
BuildContext context) → EdgeInsets? - Returns MediaQueryData.viewPadding for the nearest MediaQuery ancestor or null, if no such ancestor exists.
- Returns MediaQueryData.navigationMode for the nearest MediaQuery ancestor or throws an exception, if no such ancestor exists.
-
of(
BuildContext context) → MediaQueryData - The data from the closest instance of this class that encloses the given context.
-
onOffSwitchLabelsOf(
BuildContext context) → bool - Returns MediaQueryData.onOffSwitchLabels for the nearest MediaQuery ancestor or false, if no such ancestor exists.
-
orientationOf(
BuildContext context) → Orientation - Returns MediaQueryData.orientation for the nearest MediaQuery ancestor or throws an exception, if no such ancestor exists.
-
paddingOf(
BuildContext context) → EdgeInsets - Returns MediaQueryData.padding for the nearest MediaQuery ancestor or throws an exception, if no such ancestor exists.
-
platformBrightnessOf(
BuildContext context) → Brightness - Returns MediaQueryData.platformBrightness for the nearest MediaQuery ancestor or Brightness.light, if no such ancestor exists.
-
sizeOf(
BuildContext context) → Size - Returns MediaQueryData.size from the nearest MediaQuery ancestor or throws an exception, if no such ancestor exists.
-
supportsShowingSystemContextMenu(
BuildContext context) → bool - Returns MediaQueryData.supportsShowingSystemContextMenu for the nearest MediaQuery ancestor or throws an exception, if no such ancestor exists.
-
systemGestureInsetsOf(
BuildContext context) → EdgeInsets - Returns MediaQueryData.systemGestureInsets for the nearest MediaQuery ancestor or throws an exception, if no such ancestor exists.
-
textScaleFactorOf(
BuildContext context) → double - Deprecated. Will be removed in a future version of Flutter. Use maybeTextScalerOf instead.
-
textScalerOf(
BuildContext context) → TextScaler - Returns the MediaQueryData.textScaler for the nearest MediaQuery ancestor or TextScaler.noScaling if no such ancestor exists.
-
viewInsetsOf(
BuildContext context) → EdgeInsets - Returns MediaQueryData.viewInsets for the nearest MediaQuery ancestor or throws an exception, if no such ancestor exists.
-
viewPaddingOf(
BuildContext context) → EdgeInsets - Returns MediaQueryData.viewPadding for the nearest MediaQuery ancestor or throws an exception, if no such ancestor exists.
-
withClampedTextScaling(
{Key? key, double minScaleFactor = 0.0, double maxScaleFactor = double.infinity, required Widget child}) → Widget -
Wraps the
child
in a MediaQuery and applies TextScaler.clamp on the current MediaQueryData.textScaler. -
withNoTextScaling(
{Key? key, required Widget child}) → Widget -
Wraps the
child
in a MediaQuery with its MediaQueryData.textScaler set to TextScaler.noScaling.