flutter_adaptive_scaler 1.0.3 copy "flutter_adaptive_scaler: ^1.0.3" to clipboard
flutter_adaptive_scaler: ^1.0.3 copied to clipboard

Automatically scale fonts, sizes, padding, icons, and UI elements across all devices, orientations, and platforms with real-time responsiveness.

🎬 Demo #

Quick Popup Demo

FlutterAdaptiveScaler #

pub package License: MIT

A Flutter package for fully responsive apps. Automatically scales fonts, sizes, padding, icons, radius, lists, grids, and all UI elements for every screen, device, orientation, and web/desktop window resize.

Features #

  • 🚀 Instant Scaling: Scales everything based on your design reference size.
  • 📱 Universal Support: Works seamlessly on Mobile, Tablet, iPad, Web, and Desktop.
  • 🔄 Real-time Updates: Automatically recalculates on orientation changes and window resizing.
  • 🧩 Simple Extensions: Use .w, .h, .sp, .r, .i, and .p on any number.
  • ⚡ Proactive Rebuilding: FlutterScaler wrapper with builder pattern for full reactivity.

Getting Started #

Add flutter_scaler to your pubspec.yaml:

dependencies:
  flutter_scaler: ^0.0.1

Usage #

Wrap your MaterialApp with FlutterScaler. Using the builder pattern is recommended to ensure that everything updates correctly when the screen size changes:

import 'package:flutter_scaler/flutter_scaler.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return FlutterScaler(
      baseWidth: 375, // Your design width (default: 375)
      baseHeight: 812, // Your design height (default: 812)
      builder: (context, child) => MaterialApp(
        title: 'My Scaled App',
        home: MyHomePage(),
      ),
    );
  }
}

Responsive Extensions #

Apply scaling to any number by simply adding an extension:

  • 200.w: Scale width
  • 100.h: Scale height
  • 16.sp: Scale font size
  • 8.r: Scale border radius
  • 24.i: Scale icon size
  • 12.p: Scale padding/margin
Container(
  width: 200.w,
  height: 100.h,
  padding: EdgeInsets.all(12.p),
  decoration: BoxDecoration(
    borderRadius: BorderRadius.circular(8.r),
    color: Colors.blue,
  ),
  child: Column(
    children: [
      Icon(Icons.star, size: 24.i),
      Text('Hello Responsive!', style: TextStyle(fontSize: 16.sp)),
    ],
  ),
)

Scaling Logic #

The package calculates scale factors dynamically:

  1. scaleWidth = currentWidth / baseWidth
  2. scaleHeight = currentHeight / baseHeight
  3. scaleText = min(scaleWidth, scaleHeight)

The min logic ensures that your text and icons never overflow even if the screen's aspect ratio differs dramatically from your design reference.

Example #

Check out the full professional dashboard example in the example folder.

Author #

Created by GreeLogix.

2
likes
160
points
244
downloads
screenshot

Publisher

verified publishergreelogix.com

Weekly Downloads

Automatically scale fonts, sizes, padding, icons, and UI elements across all devices, orientations, and platforms with real-time responsiveness.

Repository (GitHub)
View/report issues

Topics

#responsive #scaling #mobile #web #desktop

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on flutter_adaptive_scaler