zeba_academy_bottom_sheet_plus

πŸš€ An advanced, customizable Flutter bottom sheet with draggable support, snap positions, smooth animations, full-screen mode, and nested scrolling.

Designed for modern apps that need flexible and powerful bottom sheet interactions.


✨ Features

  • 🧲 Draggable bottom sheet
  • πŸ“ Snap positions (e.g. 20%, 50%, 100%)
  • 🎬 Custom animation duration & curves
  • πŸ“± Full-screen support
  • πŸ”„ Nested scrolling support
  • 🎯 Programmatic control (expand, collapse, snap)
  • 🧩 Clean and extensible architecture

πŸ“¦ Installation

Add this to your pubspec.yaml:

dependencies:
  zeba_bottom_sheet_plus: ^0.0.1

Then run:

flutter pub get

πŸš€ Usage

Basic Example

import 'package:flutter/material.dart';
import 'package:zeba_bottom_sheet_plus/zeba_bottom_sheet_plus.dart';

class HomeScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Stack(
        children: [
          Center(child: Text("Main Content")),

          ZebaBottomSheet(
            child: ListView.builder(
              shrinkWrap: true,
              physics: NeverScrollableScrollPhysics(),
              itemCount: 20,
              itemBuilder: (_, i) => ListTile(
                title: Text("Item $i"),
              ),
            ),
          ),
        ],
      ),
    );
  }
}

πŸŽ› Advanced Usage

With Snap Controller

final controller = ZebaSnapController();

ZebaBottomSheet(
  controller: controller,
  snapSizes: [0.2, 0.5, 1.0],
  initialSize: 0.3,
  child: YourWidget(),
);

Control Programmatically

controller.expand();
controller.collapse();
controller.snapTo(0.5);

βš™οΈ Properties

Property Description Default
child Content inside the sheet required
snapSizes Snap points [0.2, 0.5, 1.0]
initialSize Initial height 0.5
minSize Minimum height 0.2
maxSize Maximum height 1.0
controller Snap controller optional
animationDuration Animation duration 300ms
animationCurve Animation curve easeInOut

πŸ§ͺ Testing

Run tests using:

flutter test

Includes:

  • Widget rendering tests
  • Drag interaction tests
  • Snap behavior tests

πŸ›£ Roadmap

  • Glassmorphism UI support
  • Sticky headers
  • Multi-sheet stacking
  • Cupertino-style bottom sheet
  • Velocity-based snapping

🀝 Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.


πŸ“„ License

This project is licensed under the GPL License.


πŸ‘¨β€πŸ’» 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 or 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, tech, and development at zeba.academy and code.zeba.academy. Empower yourself with practical skills through curated tutorials, real-world projects, and hands-on experience. Level up your tech game today! πŸ’»βœ¨

Zeba Academy is a learning platform dedicated to coding, technology, and development.

➑ Visit our main site: https://zeba.academy ➑ Explore courses: https://code.zeba.academy ➑ YouTube: https://www.youtube.com/@zeba.academy ➑ Instagram: https://www.instagram.com/zeba.academy/


⭐ If you like this package, don’t forget to give it a star!