Easy Gap
En | Ru
Add gaps between widgets in Flutter easily and flexibly - via extension methods or constructors.
Installation
dependencies:
easy_gap: ^1.1.0
import 'package:easy_gap/easy_gap.dart';
Usage
SpacedList Constructor
Alternative syntax using constructors:
ListView(
children: SpacedList(
spacing: 16,
children: [...],
),
)
CustomScrollView(
slivers: SpacedList.slivers(
spacing: 20,
slivers: [...],
),
)
Extension Methods
Add .gap()
or .sliverGap()
to any widget list:
ListView(
children: [
Text('Item 1'),
Text('Item 2'),
Text('Item 3'),
].gap(16),
)
CustomScrollView(
slivers: [
SliverList(...),
SliverGrid(...),
].sliverGap(20),
)
API
Extension Methods
List<Widget> gap(
double spacing, // Required: Gap size in pixels
{
double? crossAxisExtent, // Optional: Gap size along cross axis (e.g., full width in Column)
Color? color, // Optional: Fill color for debugging gaps
}
)
List<Widget> sliverGap(
double spacing, // Required: Gap size in pixels
{
Color? color, // Optional: Fill color for debugging gaps
}
)
SpacedList Constructors
SpacedList({
required double spacing, // Required: Gap size in pixels
required List<Widget> children, // Required: List of widgets
double? crossAxisExtent, // Optional: Gap size along cross axis
Color? color, // Optional: Fill color for debugging gaps
})
SpacedList.slivers({
required double spacing, // Required: Gap size in pixels
required List<Widget> slivers, // Required: List of slivers
Color? color, // Optional: Fill color for debugging gaps
})
Example
Check out the example app for a complete demo showcasing all features.
Changelog
See the Changelog for recent updates.
Contributing
Contributions are welcome!
- Found a bug? Open an issue
- Have a feature request? Open an issue
- Want to contribute? Submit a pull request
License
MIT License - see LICENSE for details.