zeba_academy_bottom_sheet 0.0.1 copy "zeba_academy_bottom_sheet: ^0.0.1" to clipboard
zeba_academy_bottom_sheet: ^0.0.1 copied to clipboard

A customizable Flutter bottom sheet package with draggable sheets, snap points, blur background, fullscreen mode, animations and controller support.

Zeba Academy Bottom Sheet #

A beautiful and customizable Flutter bottom sheet package with draggable sheets, snap points, blur background, fullscreen mode, controller support, and Material 3 styling.

pub package License: GPL v3


✨ Features #

zeba_academy_bottom_sheet provides a modern, flexible bottom sheet experience for Flutter applications.

Core Features #

✅ Draggable bottom sheet
✅ Snap point support
✅ Fullscreen mode
✅ Blur background effect
✅ Material 3 design
✅ Custom header support
✅ Drag handle indicator
✅ Scrollable content support
✅ Controller support
✅ Rounded corners customization
✅ Custom colors
✅ Safe area support
✅ Null safety support
✅ Lightweight with zero external dependencies


📦 Installation #

Add this package to your pubspec.yaml:

dependencies:
  zeba_academy_bottom_sheet: ^0.0.1

Then run:

flutter pub get

🚀 Basic Usage #

Import the package:

import 'package:zeba_academy_bottom_sheet/zeba_academy_bottom_sheet.dart';

Show a simple bottom sheet:

ZebaBottomSheet.show(
  context: context,
  child: Column(
    children: [
      Text(
        "Hello Bottom Sheet",
        style: Theme.of(context).textTheme.titleLarge,
      ),
    ],
  ),
);

🎨 Custom Header #

You can add a custom header widget:

ZebaBottomSheet.show(
  context: context,
  header: const ListTile(
    title: Text("Profile"),
    subtitle: Text("Account Information"),
  ),
  child: const Text(
    "Sheet Content",
  ),
);

🖱 Draggable Bottom Sheet #

The package supports draggable sheets using Flutter's native scrolling system.

ZebaBottomSheet.show(
  context: context,
  child: ListView.builder(
    itemCount: 50,
    itemBuilder: (context, index) {
      return ListTile(
        title: Text(
          "Item $index",
        ),
      );
    },
  ),
);

📌 Snap Points #

Control the sheet positions using snap points.

ZebaBottomSheet.show(
  context: context,
  config: const ZebaBottomSheetConfig(
    snapPoints: [
      0.3,
      0.6,
      1.0,
    ],
  ),
  child: const Text(
    "Snap Bottom Sheet",
  ),
);

Available positions:

Value Position
0.3 30% height
0.6 60% height
1.0 Full height

🌫 Blur Background #

Enable background blur:

ZebaBottomSheet.show(
  context: context,
  config: const ZebaBottomSheetConfig(
    blurBackground: true,
  ),
  child: const Text(
    "Blur Effect",
  ),
);

📱 Fullscreen Mode #

Display the sheet in fullscreen mode:

ZebaBottomSheet.show(
  context: context,
  config: const ZebaBottomSheetConfig(
    fullscreen: true,
  ),
  child: const Text(
    "Fullscreen Sheet",
  ),
);

🎛 Configuration #

Customize the bottom sheet:

const config = ZebaBottomSheetConfig(
  draggable: true,
  blurBackground: true,
  fullscreen: false,
  showDragHandle: true,
  borderRadius: 24,
  backgroundColor: Colors.white,
  barrierColor: Colors.black45,
);

🎮 Controller Support #

Control sheet state:

final controller = ZebaBottomSheetController();

Open:

controller.open();

Close:

controller.close();

Toggle:

controller.toggle();

Example:

ZebaBottomSheet.show(
  context: context,
  controller: controller,
  child: const Text(
    "Controlled Sheet",
  ),
);

📂 Package Structure #

lib/
│
├── zeba_academy_bottom_sheet.dart
│
└── src/
    ├── bottom_sheet.dart
    ├── config.dart
    ├── controller.dart
    ├── drag_handle.dart
    └── blur_background.dart

🧪 Testing #

Run package tests:

flutter test

Analyze the package:

flutter analyze

Validate publishing:

flutter pub publish --dry-run

🤝 Contributing #

Contributions are welcome!

Steps:

  1. Fork the repository.
  2. Create your feature branch.
git checkout -b feature/new-feature
  1. Commit your changes.
git commit -m "Add new feature"
  1. Push your branch.
git push origin feature/new-feature
  1. Create a Pull Request.

📜 License #

This project is licensed under the GNU General Public License v3.0 (GPL-3.0).

You are free to:

✅ Use the package
✅ Modify the source code
✅ Distribute copies
✅ Improve and contribute changes

Any distributed modifications must also remain open source under the GPL-3.0 license.

See the full license:

https://www.gnu.org/licenses/gpl-3.0.html


👨‍💻 About Me #

✨ I’m Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects.

You can learn more about me and my work at:

🔗 https://sufyanism.com/

Connect with me on LinkedIn:

🔗 https://www.linkedin.com/in/sufyanism


🚀 Zeba Academy #

Your all-in-one learning hub! #

🚀 Explore courses and resources in coding, technology, and development at:

🔗 https://zeba.academy
🔗 https://code.zeba.academy

Zeba Academy is a learning platform dedicated to:

  • Coding
  • Technology
  • Software Development
  • Practical Projects
  • Developer Resources

Explore:

➡ Main website:
https://zeba.academy

➡ Hands-on courses and resources:
https://code.zeba.academy

➡ YouTube tutorials:
https://www.youtube.com/@zeba.academy

➡ Instagram:
https://www.instagram.com/zeba.academy/


⭐ Support #

If you like this package:

⭐ Star the repository
⭐ Share it with Flutter developers
⭐ Contribute improvements

Thank you for supporting open-source development ❤️


Made with ❤️ by Zeba Academy

0
likes
140
points
18
downloads

Documentation

API reference

Publisher

verified publisherzeba.academy

Weekly Downloads

A customizable Flutter bottom sheet package with draggable sheets, snap points, blur background, fullscreen mode, animations and controller support.

Homepage

Topics

#bottom-sheet #draggable #material-design #flutter-ui #widget

License

GPL-3.0 (license)

Dependencies

flutter

More

Packages that depend on zeba_academy_bottom_sheet