escape_parent_padding 1.0.4 copy "escape_parent_padding: ^1.0.4" to clipboard
escape_parent_padding: ^1.0.4 copied to clipboard

A Flutter widget to let child widgets escape parent padding constraints, great for full-width layouts like horizontal ListViews.

example/lib/main.dart

import 'package:escape_parent_padding/escapable_padding.dart';
import 'package:escape_parent_padding/escaped.dart';
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Escape Parent Padding',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const EscapeScreen(),
    );
  }
}

class EscapeScreen extends StatelessWidget {
  const EscapeScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Escape Parent Padding')),
      body: EscapablePadding(
        padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 32),
        builder: (context, children) => ListView(children: [...children]),
        children: [
          Container(
            height: 200,
            color: Colors.pinkAccent,
            child: const Center(child: Text('Container')),
          ),
          Escaped(
            child: SizedBox(
              height: 200,
              child: ListView.separated(
                itemCount: 10,
                scrollDirection: Axis.horizontal,
                padding: const EdgeInsets.symmetric(horizontal: 32),
                itemBuilder:
                    (context, index) => Container(
                      height: 200,
                      padding: const EdgeInsets.symmetric(
                        vertical: 12,
                        horizontal: 32,
                      ),
                      color: Colors.indigo,
                      child: Center(
                        child: Text('Escaped ListView Item $index'),
                      ),
                    ),
                separatorBuilder: (context, index) => const SizedBox(width: 10),
              ),
            ),
          ),
          Container(
            height: 200,
            color: Colors.pinkAccent,
            child: const Center(child: Text('Container')),
          ),
          Escaped(
            child: Container(
              height: 200,
              color: Colors.indigo,
              child: const Center(child: Text('Escaped Container')),
            ),
          ),
        ],
      ),
    );
  }
}
14
likes
160
points
1.05k
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter widget to let child widgets escape parent padding constraints, great for full-width layouts like horizontal ListViews.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on escape_parent_padding