slidable_drawer

Creator: coderz1093

Last updated:

0 purchases

TODO
Add to Cart

Description:

slidable drawer

This package was created to implement a Custom Drawer that could be opened with a simple swipe. 🚀

Included SlidableDrawerController for animated open/close drawer 😊

Show some ❤️ and star the repo to support the project!













📌 Features #

✅ Simple open/close drawer with swipe to right
✅ Open/close drawer using SlidableDrawerController

📌 Getting Started #
Follow these steps to use this package
Add dependency #
dependencies:
slidable_drawer: ^1.0.6
copied to clipboard
Add import package #
import 'package:slidable_drawer/slidable_drawer.dart';
copied to clipboard
Easy to use #
Simple example of use SlidableDrawer
Put this code in your project at an screen and learn how it works 😊




Widget part:
import 'package:flutter/material.dart';
import 'package:slidable_drawer/slidable_drawer.dart';

void main() {
runApp(MaterialApp(
theme: ThemeData.dark(),
home: const MyApp(),
));
}

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

// Create and return the state associated with MyApp.
@override
State<MyApp> createState() => _MyAppState();
}

// The state of the MyApp widget.
class _MyAppState extends State<MyApp> {
final SlidableDrawerController _slidableDrawer = SlidableDrawerController();

// initState is called when this object is inserted into the tree.
@override
void initState() {
super.initState();
}

// This method builds the widget that this state represents.
@override
Widget build(BuildContext context) {
return Scaffold(
body: SlidableDrawer(
drawerBody: _SlidableDraweBody(
controller: _slidableDrawer,
),
innerDrawerController: _slidableDrawer,
child: SizedBox(
height: MediaQuery.of(context).size.height,
child: Center(
child: TextButton(
style: ButtonStyle(
backgroundColor: MaterialStateProperty.all(Colors.blue),
),
onPressed: () {
_slidableDrawer.animateToOpen();
},
child: const Text(
'Open Drawer',
style: TextStyle(color: Colors.white),
),
)),
),
),
);
}
}

class _SlidableDraweBody extends StatelessWidget {
final SlidableDrawerController controller;

const _SlidableDraweBody({required this.controller});

// This method builds the widget that this stateless widget represents.
@override
Widget build(BuildContext context) {
return Container(
color: const Color.fromARGB(255, 66, 66, 66), // can be any color
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
TextButton(
onPressed: () {
controller.animateToClose();
},
child: const Text('Close'),
),
],
),
);
}
}
copied to clipboard


Thanks to all contributors of this package

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.