screenx 1.0.0
screenx: ^1.0.0 copied to clipboard
Centralised responsive configuration for Flutter — adaptive breakpoints, sp/dp converters, and ScreenXLayout widget for Android, iOS, and Web. One init, fully responsive.
Changelog #
All notable changes to screenx are documented here.
The format follows Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased #
1.0.0 - 2026-05-28 #
Added #
ScreenXLayoutwidget — single entry point for package initialisation. Place once insideMaterialApp.builder; all responsive values become available throughout the widget tree.ScreenXstatic accessor — providesbp,sp(),dp(),wp(), andhp()without requiring aBuildContext.ScreenBreakpoint— resolved breakpoint descriptor with boolean helpers (isMobile,isTablet,isDesktop,atLeastMD, …).ScreenBreakpointTierenum — five-tier mobile-first scale:xs,sm,md,lg,xl.ScreenXData—InheritedWidgetthat propagates breakpoint changes through the tree with zero unnecessary rebuilds.ScreenXBuilder— builder-pattern widget that rebuilds its subtree only when the active breakpoint tier changes.ScreenXBuilder.switch_constructor — discrete child widgets per breakpoint tier with automatic fallback to the nearest smaller tier.ScreenUtil— unit conversion engine:sp(value)— scalable pixels accounting for system text-scale preference.dp(value)— density-independent pixels for layout dimensions.wp(percent)— percentage of current screen width.hp(percent)— percentage of current screen height.
- Platform-specific metric adapters for Android, iOS, and Web (internal).
- Full dartdoc coverage on every public API member.
- ≥ 90 % unit and widget test coverage.
- Runnable example application in
example/. - GitHub Actions CI/CD:
ci.yaml— format, analyze, test, pana gate (≥ 110) on every PR todevelop.release.yaml— validate, pana gate (≥ 120), publish to pub.dev via OIDC, and create GitHub Release onv*.*.*tag push.