flutter_scale_kit library

Classes

AspectRatioAdapter
Aspect ratio adapter for handling different device aspect ratios Provides smart scaling based on device characteristics
DeviceDetector
Device detector utility Detects device type based on screen dimensions
FontConfig
Global font configuration manager
HSpace
Horizontal spacing widget - short name for convenience Usage: HSpace(16) for horizontal spacing
LanguageFontConfig
Font configuration for a specific language
LanguageGroupFontConfig
Font configuration for a language group (multiple languages sharing the same font)
ResponsiveThemeData
Helper class for creating responsive ThemeData with automatic font configuration
ScaleBreakpoints
Breakpoint configuration used for device and size classification.
ScaleKitBuilder
Wrapper widget that initializes ScaleKit and manages responsive updates.
ScaleKitDesignValues
Comprehensive configuration for defining all responsive design values in one place.
ScaleKitDesignValuesSet
Computed design values ready for use in const widgets.
ScaleKitScope
Internal scope used to notify descendants when ScaleKit recalculates.
ScaleManager
Singleton manager for scale configuration and responsive design calculations.
ScaleValueCache
Flyweight pattern cache for storing scaled values Reuses cached calculated values to minimize memory usage
ScaleValueFactory
Factory pattern for creating cached scaled values.
ScalingStrategy
Scaling strategy calculator Determines appropriate scaling strategy based on device characteristics
SizeConfig
Size configuration for different categories.
SizeValues
Base size values configuration for consistent sizing.
SKActionChip
Scaled ActionChip widget - extends Flutter's ActionChip Automatically applies scaling to padding, labelPadding, borderRadius, and elevation Uses cached values for optimal performance
SKAppBar
Scaled AppBar widget - extends Flutter's AppBar Automatically applies scaling to toolbarHeight, elevation, titleSpacing, and leadingWidth Uses cached values for optimal performance
SKCard
Scaled Card widget - extends Flutter's Card Automatically applies scaling to margin, elevation, and shape borderRadius Uses cached values for optimal performance
SKChoiceChip
Scaled ChoiceChip widget - extends Flutter's ChoiceChip Automatically applies scaling to padding, labelPadding, borderRadius, and elevation Uses cached values for optimal performance
SKContainer
Scaled Container widget - extends Flutter's Container Automatically applies scaling to border radius, padding, margin, width, height, and constraints Uses cached values for border radius and optimal performance
SKDivider
Scaled Divider widget - extends Flutter's Divider Automatically applies scaling to thickness, indent, endIndent, and height Uses cached values for optimal performance
SKElevatedButton
Scaled ElevatedButton widget - extends Flutter's ElevatedButton Automatically applies scaling to padding, minimumSize, fixedSize, borderRadius, and elevation Uses cached values for optimal performance
SKFilterChip
Scaled FilterChip widget - extends Flutter's FilterChip Automatically applies scaling to padding, labelPadding, borderRadius, and elevation Uses cached values for optimal performance
SKIcon
Scaled Icon widget - extends Flutter's Icon Automatically applies scaling to icon size Uses cached values for optimal performance
SKIconButton
Scaled IconButton widget - extends Flutter's IconButton Automatically applies scaling to iconSize, padding, and constraints Uses cached values for optimal performance
SKImage
Scaled Image widget - extends Flutter's Image Automatically applies scaling to width and height Uses cached values for optimal performance
SKInputChip
Scaled InputChip widget - extends Flutter's InputChip Automatically applies scaling to padding, labelPadding, borderRadius, and elevation Uses cached values for optimal performance
SKit
ScaleKit helper class providing convenient methods for creating responsive widgets and scaled values.
SKitValues
Legacy helper class for backward compatibility.
SKListTile
Scaled ListTile widget - extends Flutter's ListTile Automatically applies scaling to contentPadding, minLeadingWidth, and minVerticalPadding Uses cached values for optimal performance
SKMargin
Scaled Margin widget - extends Flutter's Container Automatically applies scaling to EdgeInsets values Uses cached values for optimal performance
SKOutlinedButton
Scaled OutlinedButton widget - extends Flutter's OutlinedButton Automatically applies scaling to padding, minimumSize, fixedSize, and borderRadius Uses cached values for optimal performance
SKPadding
Scaled Padding widget - extends Flutter's Padding Automatically applies scaling to EdgeInsets values Uses cached values for optimal performance
SKResponsive
A simple device/orientation-aware builder with sensible fallbacks.
SKResponsiveBuilder
A responsive builder widget that provides device and orientation information to the builder function.
SKResponsiveValue<T>
Generic responsive value resolver following the same fallback rules.
SKSizedBox
Scaled SizedBox widget - extends Flutter's SizedBox Uses cached values and can be const when size is const
SKSwitch
Scaled Switch widget - extends Flutter's Switch Automatically applies scaling to splashRadius Uses cached values for optimal performance
SKSwitchListTile
Scaled SwitchListTile widget - extends Flutter's SwitchListTile Automatically applies scaling to contentPadding, minLeadingWidth, minVerticalPadding, and splashRadius Uses cached values for optimal performance
SKText
Scaled Text widget - extends Flutter's Text Automatically applies scaling to fontSize and font-related properties Uses cached values for optimal performance Applies FontConfig automatically if configured
SKTextButton
Scaled TextButton widget - extends Flutter's TextButton Automatically applies scaling to padding, minimumSize, fixedSize, and borderRadius Uses cached values for optimal performance
SKTextField
Scaled TextField widget - extends Flutter's TextField Automatically applies scaling to fontSize, padding (via InputDecoration), and borderRadius Uses cached values for optimal performance Applies FontConfig automatically if configured
SKTextFormField
Scaled TextFormField widget - extends Flutter's TextFormField Automatically applies scaling to fontSize, padding (via InputDecoration), and borderRadius Uses cached values for optimal performance Applies FontConfig automatically if configured
SSpace
Square spacing widget - short name for convenience Usage: SSpace(16) for both width and height
TextSizeValues
Text size values configuration.
VSpace
Vertical spacing widget - short name for convenience Usage: VSpace(16) for vertical spacing

Enums

AspectRatioCategory
Aspect ratio category enum
DesktopAs
Controls how desktop should be treated when resolving responsive values.
DesktopLockFallback
Determines how locked desktop/web devices should be resolved in responsive APIs.
DeviceClassificationSource
Source used when querying device type helpers.
DeviceSizeClass
Additional screen size classifications derived from configured breakpoints.
DeviceType
Device type enumeration for responsive design.
PlatformCategory
High-level platform classification that is safe to query on any runtime (including web).
ScalingStrategyType
Scaling strategy type enum
SKRadiusMode
Defines how radius values should be resolved.
SKSize
Size enum for predefined sizes used throughout the app.
SKTextSize
Text size enum with comprehensive font sizes.

Mixins

DeviceMetricsMixin<T extends StatefulWidget>
A mixin that provides device metrics and platform convenience getters.

Extensions

BorderRadiusScaleExtensions on BorderRadius
BoxConstraintsScaleExtensions on BoxConstraints
CleanDoubleExtension on double
Extension on double to extract clean values for FFI APIs.
DeviceTypeClassificationExtension on DeviceType
EdgeInsetsDirectionalScaleExtensions on EdgeInsetsDirectional
EdgeInsetsScaleExtensions on EdgeInsets
FontConfigContextExtension on BuildContext
Extension on BuildContext to easily access font configuration
RadiusScaleExtensions on Radius
ScaleContextExtension on BuildContext
BuildContext extensions for easy access to scaling utilities
ScaleExtension on num
Extension methods for easy scaling operations Similar to flutter_screenutil API
ScaleThemeDataExtension on ThemeData
ThemeData extensions for responsive theme configuration
TextStyleFontConfigExtension on TextStyle
Extension on TextStyle to apply font configuration based on current language

Properties

defaultMarginValue double
Get default margin value (returns default if not set)
no setter
defaultPaddingValue double
Get default padding value (returns default if not set)
no setter
defaultRadiusValue double
Get default radius value (returns default if not set)
no setter
defaultSpacingValue double
Get default spacing value (returns default if not set)
no setter
defaultTextSizeValue double
Get default text size value (returns default if not set)
no setter
marginSizes SizeValues
Get margin size values (returns default if not set)
no setter
paddingSizes SizeValues
Get padding size values (returns default if not set)
no setter
radiusSizes SizeValues
Get radius size values (returns default if not set)
no setter
skFactory ScaleValueFactory
Top-level getter for easier access to ScaleValueFactory.
no setter
spacingSizes SizeValues
Get spacing size values (returns default if not set)
no setter
textSizes TextSizeValues
Get text size values (returns default if not set)
no setter

Functions

resetSizeValues() → void
Reset all size values to defaults (null)
setDefaultMargin(double? value) → void
Set default margin value (used when SKit.margin() is called without parameters)
setDefaultPadding(double? value) → void
Set default padding value (used when SKit.pad() is called without parameters)
setDefaultRadius(double? value) → void
Set default radius value (used when SKit.rounded() is called without parameters)
setDefaultSpacing(double? value) → void
Set default spacing value (used when SKit.h() or SKit.v() is called without parameters)
setDefaultTextSize(double? value) → void
Set default text size value (used when SKit.textSize() is called without parameters)
setMarginSizes(SizeValues? values) → void
Set custom size values for margin (null to reset to default)
setPaddingSizes(SizeValues? values) → void
Set custom size values for padding (null to reset to default)
setRadiusSizes(SizeValues? values) → void
Set custom size values for radius (null to reset to default)
setSizeConfig(SizeConfig config) → void
Set all size values at once (null values are ignored)
setSizeValues(SizeValues values) → void
Set custom size values globally (for backward compatibility) Sets all categories to the same values
setSpacingSizes(SizeValues? values) → void
Set custom size values for spacing (null to reset to default)
setTextSizes(TextSizeValues? values) → void
Set custom text size values (null to reset to default)

Typedefs

GoogleFontFunction = TextStyle Function({TextStyle? textStyle})
Function type for Google Fonts (e.g., GoogleFonts.inter, GoogleFonts.almarai) This matches the signature of Google Fonts functions which take a TextStyle and return a TextStyle with the font applied
ResponsiveBuilder = Widget Function(BuildContext context, DeviceType device, Orientation orientation)
Builder function type for SKResponsiveBuilder Receives context, device type, and orientation
ResponsiveWidgetBuilder = Widget Function(BuildContext context)
SKImageFile = SKImageFile?
SKitTheme = ScaleKitDesignValues
SKitThemeValues = ScaleKitDesignValuesSet