MediaQuery class - widgets library - Dart API
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()
→ 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()
→ 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.