ResponsiveDimensions extension

Extension on BuildContext for responsive dimension calculations.

All device detection, scaling, and adaptive values are driven by AdaptiFlowData configuration. When no AdaptiFlow widget is in the tree, sensible defaults are used (matching the original hardcoded values).

Performance: Uses MediaQuery.sizeOf, paddingOf, orientationOf, and viewInsetsOf instead of MediaQuery.of to minimize unnecessary widget rebuilds.

on

Properties

adaptiveMargin double

Available on BuildContext, provided by the ResponsiveDimensions extension

Get adaptive margin based on device type.
no setter
adaptivePadding double

Available on BuildContext, provided by the ResponsiveDimensions extension

Get adaptive padding based on device type.
no setter
adaptiveSpacing double

Available on BuildContext, provided by the ResponsiveDimensions extension

Get adaptive spacing based on device type.
no setter
bottomPadding double

Available on BuildContext, provided by the ResponsiveDimensions extension

Get bottom safe area padding (home indicator, navigation bar).
no setter
deviceType DeviceType

Available on BuildContext, provided by the ResponsiveDimensions extension

Get the current DeviceType based on screen width and config breakpoints.
no setter
isDesktop bool

Available on BuildContext, provided by the ResponsiveDimensions extension

Check if screen width is in desktop range (>= desktopBreakpoint).
no setter
isKeyboardVisible bool

Available on BuildContext, provided by the ResponsiveDimensions extension

Check if keyboard is visible.
no setter
isLandscape bool

Available on BuildContext, provided by the ResponsiveDimensions extension

Check if device is in landscape orientation.
no setter
isMobile bool

Available on BuildContext, provided by the ResponsiveDimensions extension

Check if screen width is in mobile range (< mobileBreakpoint).
no setter
isPortrait bool

Available on BuildContext, provided by the ResponsiveDimensions extension

Check if device is in portrait orientation.
no setter
isTablet bool

Available on BuildContext, provided by the ResponsiveDimensions extension

Check if screen width is in tablet range (>= mobileBreakpoint and < desktopBreakpoint).
no setter
isWidescreen bool

Available on BuildContext, provided by the ResponsiveDimensions extension

Check if screen width is widescreen (>= widescreenBreakpoint).
no setter
keyboardHeight double

Available on BuildContext, provided by the ResponsiveDimensions extension

Get keyboard height (when visible).
no setter
safeHeight double

Available on BuildContext, provided by the ResponsiveDimensions extension

Get safe area height (excluding status bar, notch, bottom bar).
no setter
safeWidth double

Available on BuildContext, provided by the ResponsiveDimensions extension

Get safe area width (excluding side notches if any).
no setter
screenHeight double

Available on BuildContext, provided by the ResponsiveDimensions extension

Get full screen height in logical pixels.
no setter
screenWidth double

Available on BuildContext, provided by the ResponsiveDimensions extension

Get full screen width in logical pixels.
no setter
textScaleFactor double

Available on BuildContext, provided by the ResponsiveDimensions extension

Get system text scale factor.
no setter
topPadding double

Available on BuildContext, provided by the ResponsiveDimensions extension

Get top safe area padding (status bar, notch).
no setter

Methods

fontSize(double size) double

Available on BuildContext, provided by the ResponsiveDimensions extension

Scale font size responsively.
h(double value) double

Available on BuildContext, provided by the ResponsiveDimensions extension

Scale value proportionally to design reference height.
hp(double percent) double

Available on BuildContext, provided by the ResponsiveDimensions extension

Height percentage: hp(20) = 20% of screen height.
r(double value) double

Available on BuildContext, provided by the ResponsiveDimensions extension

Scale value uniformly using the minimum of width/height ratio.
scale(double value) double

Available on BuildContext, provided by the ResponsiveDimensions extension

Scale value based on device type.
shp(double percent) double

Available on BuildContext, provided by the ResponsiveDimensions extension

Safe height percentage: shp(20) = 20% of safe area height.
sp(double size, {double? min, double? max}) double

Available on BuildContext, provided by the ResponsiveDimensions extension

Scale font size proportionally to design reference with optional clamp.
swp(double percent) double

Available on BuildContext, provided by the ResponsiveDimensions extension

Safe width percentage: swp(50) = 50% of safe area width.
textSize(double size) double

Available on BuildContext, provided by the ResponsiveDimensions extension

Calculate actual text size with system scaling.
w(double value) double

Available on BuildContext, provided by the ResponsiveDimensions extension

Scale value proportionally to design reference width.
wp(double percent) double

Available on BuildContext, provided by the ResponsiveDimensions extension

Width percentage: wp(50) = 50% of screen width.