Drawer Pro
A high-performance, parallax slide drawer for Flutter with smooth animations and easy integration for modern app drawer UIs.

β¨ Features
- π Smooth Animations β Optimized for both standard and high-refresh-rate displays
- π¨ Stunning Parallax Effect - Depth-based slide motion
- π 100% Customizable - Shadows, width, curves, duration
- π± Cross-Platform - Android, iOS, Web, macOS, Windows, Linuxβ
- β‘ Zero Dependencies - Lightweight & fast
- π― Easy Integration - Drop-in replacement for Scaffold drawer
Usage
DrawerPro(
drawer: Container(
color: const Color(0xFF1E1E1E),
child: ListView(
padding: const EdgeInsets.all(20),
children: const [
DrawerHeader(
child: Text("My Drawer Pro", style: TextStyle(color: Colors.white, fontSize: 24)),
),
ListTile(
leading: Icon(Icons.chat_bubble, color: Colors.white),
title: Text("Chat", style: TextStyle(color: Colors.white)),
),
ListTile(
leading: Icon(Icons.settings, color: Colors.white),
title: Text("Settings", style: TextStyle(color: Colors.white)),
),
],
),
),
child: Scaffold(
appBar: AppBar(
title: const Text("Drawer Pro Demo"),
leading: Builder(
builder: (context) => IconButton(
icon: const Icon(Icons.menu),
onPressed: () => DrawerPro.of(context)?.open(),
),
),
),
body: const Center(child: Text("Swipe from left or click menu!")),
),
)
Check the
example/lib/main.dartfolder for a complete runnable example.
π¦ Installation
- Add to pubspec.yaml:
dependencies:
drawer_pro: <latest-version>
- Install
flutter pub get
Platform Support
| Platform | Status |
|---|---|
| Android | β |
| iOS | β |
| Web | β |
| macOS | β |
| Windows | β |
| Linux | β |
Key Properties
| Property | Type | Default | Description |
|---|---|---|---|
| drawerWidth | double | 300 | Drawer slide width |
| slideDuration | Duration | 250ms | Animation duration |
| curve | Curve | easeOutCubic | Animation curve |
| shadowColor | Color | Colors.black26 | Overlay shadow |
| shadowOpacity | double | 0.3 | Shadow intensity |
π¨ Customization Tips
- Wide drawer:
drawerWidth: MediaQuery.of(context).size.width * 0.8 - Fast slide:
slideDuration: const Duration(milliseconds: 150) - Bounce effect:
curve: Curves.bounceOut - Dark theme:
shadowColor: Colors.black54
Need Help?
For questions, issues, or feature requests, create an issue on GitHub or reach out via the GitHub Discussions tab. Create an issue
Author
Anish Dandapat LinkedIn
π License
This project is licensed under the MIT License - see the LICENSE file for details.