responsive_spacing_v2 1.2.3 copy "responsive_spacing_v2: ^1.2.3" to clipboard
responsive_spacing_v2: ^1.2.3 copied to clipboard

A simple Flutter package to add responsive padding and margin widgets for consistent, adaptive spacing across different screen sizes.

Responsive Spacing #

A simple Flutter package to add responsive padding and margin widgets for consistent, adaptive spacing across different screen sizes.

Features #

  • ResponsivePadding: Adds adjustable padding around a widget based on screen size.
  • ResponsiveMargin: Adds adjustable margin around a widget based on screen size.
  • ResponsiveSpacingProvider: Provides a spacing scale (xs, sm, md, lg, xl) based on screen size.
  • ResponsiveSpacer: Adds vertical or horizontal space using the spacing scale.
  • context.spacing: Access the spacing values directly from BuildContext.
  • Fully customizable spacing system with base unit and scale factor..

Installation #

To include the Responsive Spacing package in your Flutter project, add the following dependency to your pubspec.yaml file:

dependencies:
  responsive_spacing_v2: ^latest

Example Usage #

import 'package:responsive_spacing_v2/responsive_spacing_v2.dart';

✅ Getting Started #

Wrap your app with ResponsiveSpacingProvider in main.dart:

void main() {
  runApp(
    ResponsiveSpacingProvider(
      base: 8.0,  // Base spacing unit
      scale: 1.5, // Scale factor for spacing levels
      child: MyApp(),
    ),
  );
}

✅ResponsivePadding #

The ResponsivePadding widget allows you to add responsive padding around any child widget based on the screen size. Below is an example of how to use it:

ResponsivePadding(
  smallScreenPadding: 8.0, // Padding for screens smaller than 600px
  largeScreenPadding: 16.0, // Padding for screens 600px and larger
  child: Container(
    color: Colors.blue,
    child: Text(
      "This text has responsive padding",
      style: TextStyle(color: Colors.white),
    ),
  ),
);

✅ResponsiveMargin #

The ResponsiveMargin widget allows you to add responsive margin around any child widget. Here’s an example:

ResponsiveMargin(
  smallScreenMargin: 8.0, // Margin for screens smaller than 600px
  largeScreenMargin: 16.0, // Margin for screens 600px and larger
  child: ElevatedButton(
    onPressed: () {
      // Button action
      print("Button pressed!");
    },
    child: Text("Button with responsive margin"),
  ),
);

✅ResponsiveSpacer #

The ResponsiveSpacer widget inserts vertical or horizontal space using the spacing scale.

const ResponsiveSpacer(size: 'md'); // Adds vertical spacing of base * scale^2

const ResponsiveSpacer(size: 'lg', axis: Axis.horizontal); // Horizontal spacing

✅Access Spacing via context.spacing #

You can access spacing values directly from the context using predefined sizes:

Padding(
  padding: EdgeInsets.symmetric(
    vertical: context.spacing.sm, // base * scale
    horizontal: context.spacing.lg, // base * scale^3
  ),
  child: Text("Padding using context.spacing"),
);

3
likes
160
points
129
downloads

Publisher

verified publishernishanpradhan.com.np

Weekly Downloads

A simple Flutter package to add responsive padding and margin widgets for consistent, adaptive spacing across different screen sizes.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on responsive_spacing_v2