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:

Inheritance

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, 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
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 the dependencies.
override

Operators

operator ==(Object other) bool The equality operator.
inherited

Static Methods

accessibleNavigationOf(BuildContext context) bool 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. applyTextStyleOverrides({Key? key, required double? lineHeightScaleFactorOverride, required double? letterSpacingOverride, required double? wordSpacingOverride, required double? paragraphSpacingOverride, required Widget child}) Widget Wraps the child in a MediaQuery with its MediaQueryData.lineHeightScaleFactorOverride, MediaQueryData.letterSpacingOverride, MediaQueryData.wordSpacingOverride, MediaQueryData.paragraphSpacingOverride set to the specified values. 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. displayCornerRadiiOf(BuildContext context) BorderRadius? Returns MediaQueryData.displayCornerRadii for the nearest MediaQuery ancestor or throws an exception, 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 provided view. 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. heightOf(BuildContext context) double Returns height of MediaQueryData.size from 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. maybeAccessibleNavigationOf(BuildContext context) bool? 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. maybeDisplayCornerRadiiOf(BuildContext context) BorderRadius? Returns MediaQueryData.displayCornerRadii 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. maybeHeightOf(BuildContext context) double? Returns height of MediaQueryData.size from 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. maybeLetterSpacingOverrideOf(BuildContext context) double? Returns the MediaQueryData.letterSpacingOverride for the nearest MediaQuery ancestor or null, if no such ancestor exists or if the platform has not specified an override. maybeLineHeightScaleFactorOverrideOf(BuildContext context) double? Returns the MediaQueryData.lineHeightScaleFactorOverride for the nearest MediaQuery ancestor or null, if no such ancestor exists or if the platform has not specified an override. maybeNavigationModeOf(BuildContext context) NavigationMode? 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. maybeParagraphSpacingOverrideOf(BuildContext context) double? Returns the MediaQueryData.paragraphSpacingOverride for the nearest MediaQuery ancestor or null, if no such ancestor exists or if the platform has not specified an override. 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. maybeSupportsAnnounceOf(BuildContext context) bool? Returns the MediaQueryData.supportsAnnounce accessibility setting for 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. maybeWidthOf(BuildContext context) double? Returns width of MediaQueryData.size from the nearest MediaQuery ancestor or null, if no such ancestor exists. maybeWordSpacingOverrideOf(BuildContext context) double? Returns the MediaQueryData.wordSpacingOverride for the nearest MediaQuery ancestor or null, if no such ancestor exists or if the platform has not specified an override. navigationModeOf(BuildContext context) NavigationMode 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. supportsAnnounceOf(BuildContext context) bool Returns the MediaQueryData.supportsAnnounce accessibility setting for the nearest MediaQuery ancestor or false, 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. widthOf(BuildContext context) double Returns width of MediaQueryData.size from 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.