Skip to content

NikhilVadoliya/Flutter_slider_drawer

Repository files navigation

slider_document

Flutter Slider Drawer

pub package pub package

A Flutter package with custom implementation of the Slider Drawer Menu

To start using this package, add flutter_slider_drawer dependency to your pubspec.yaml

dependencies:
  flutter_slider_drawer: '<latest_release>'

Features

  • Slider with custom animation time
  • Provide Basic Appbar with customization of color and title
  • Dynamic slider open and close offset
  • Provide drawer icon animation
  • Provide shadow of Main screen with customization of shadow colors,blurRadius and spreadRadius
  • Provide RTL(RightToLeft),LTR(LeftToRight) and TTB(TopToBottom) slider open selection
  • Provide Custom Appbar support and you can also use plugin appBar with use of SliderAppBar widget
  • If you are using CupertinoApp then pass isCupertino: true

Code

  Widget build(BuildContext context) {
    return Scaffold(
      body: SliderDrawer(
        key: _sliderDrawerKey,
        appBar: SliderAppBar(
          config: SliderAppBarConfig(
            title: Text(
              title,
              textAlign: TextAlign.center,
              style: const TextStyle(
                fontSize: 22,
                fontWeight: FontWeight.w700,
              ),
            ),
          ),
        ),
        sliderOpenSize: 179,
        slider: Container(color: Colors.red),
        child: Container(color: Colors.amber),
      ),
    );
  }


slider_document



Slider open

SliderOpen.LEFT_TO_RIGHT SliderOpen.RIGHT_TO_LEFT SliderOpen.TOP_TO_BOTTOM
slider_left slider_right slider_top

Controlling the drawer

class _MyAppState extends State<MyApp> {
   GlobalKey<SliderDrawerState> _sliderDrawerKey =
      GlobalKey<SliderDrawerState>();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SliderDrawer(
        key: _sliderDrawerKey,
        appBar: SliderAppBar(
          config: SliderAppBarConfig(
            title: Text(
              title,
              textAlign: TextAlign.center,
              style: const TextStyle(
                fontSize: 22,
                fontWeight: FontWeight.w700,
              ),
            ),
          ),
        ),
        sliderOpenSize: 179,
        slider: Container(color: Colors.red),
        child: Container(color: Colors.amber),
      ),
    );
  }
}
      
  • Using the below methods to control drawer .
 _sliderDrawerKey.currentState.closeDrawer();
 _sliderDrawerKey.currentState.openDrawer();
 _sliderDrawerKey.currentState.toggle();
 _sliderDrawerKey.currentState.isDrawerOpen();

  • Use below variable if you want to control animation.

__sliderDrawerKey.currentState.animationController

Contribute to Development

Your contribution will help improve the plugin

Buy Me A Coffee

License

BSD 2-Clause License