drawerbehavior 0.0.10 copy "drawerbehavior: ^0.0.10" to clipboard
drawerbehavior: ^0.0.10 copied to clipboard

outdated

Drawer behavior is a library that provide an extra behavior on drawer, such as, move view or scaling view's height while drawer on slide..

example/lib/main.dart

import 'package:drawerbehavior_example/pages/drawer_custom_item.dart';
import 'package:drawerbehavior_example/pages/drawer_scale.dart';
import 'package:drawerbehavior_example/pages/drawer_scale_icon.dart';
import 'package:drawerbehavior_example/pages/drawer_scale_no_animation.dart';
import 'package:drawerbehavior_example/pages/drawer_slide.dart';
import 'package:drawerbehavior_example/pages/drawer_slide_custom_appbar.dart';
import 'package:drawerbehavior_example/pages/drawer_slide_with_footer.dart';
import 'package:drawerbehavior_example/pages/drawer_slide_with_header.dart';
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  Widget createButton(context, {text, navigate, color}) {
    return SizedBox(
        width: double.infinity,
        child: RaisedButton(
            child: Text(text),
            color: color,
            onPressed: () {
              Navigator.pushNamed(context, navigate);
            }));
  }

  Widget home(context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Drawer Behavior"),
      ),
      body: Container(
          padding: EdgeInsets.all(16.0),
          child: Column(
            children: <Widget>[
              createButton(context,
                  text: "Scale",
                  navigate: "/drawer1",
                  color: Theme.of(context).accentColor),
              createButton(context,
                  text: "Scale - with Icon",
                  navigate: "/drawer6",
                  color: Theme.of(context).accentColor),
              createButton(context,
                  text: "Scale - no animation",
                  navigate: "/drawer2",
                  color: Theme.of(context).accentColor),
              Divider(height: 16, color: Theme.of(context).dividerColor),
              Text("Align Top"),
              Divider(height: 16, color: Theme.of(context).dividerColor),
              createButton(context,
                  text: "Slide ",
                  navigate: "/drawer3",
                  color: Theme.of(context).accentColor),
              createButton(context,
                  text: "Slide - with Header View",
                  navigate: "/drawer4",
                  color: Theme.of(context).accentColor),
              createButton(context,
                  text: "Slide - with Footer View",
                  navigate: "/drawer8",
                  color: Theme.of(context).accentColor),
              Divider(height: 16, color: Theme.of(context).dividerColor),
              Text("Customize"),
              Divider(height: 16, color: Theme.of(context).dividerColor),
              createButton(context,
                  text: "Customize Item",
                  navigate: "/drawer5",
                  color: Theme.of(context).accentColor),
              createButton(context,
                  text: "Custom AppBar",
                  navigate: "/drawer7",
                  color: Theme.of(context).accentColor),
            ],
          )),
    );
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
          primarySwatch: Colors.teal, accentColor: Colors.amberAccent),
      routes: {
        "/": home,
        "/drawer1": (context) => DrawerScale(),
        "/drawer2": (context) => DrawerScaleNoAnimation(),
        "/drawer3": (context) => DrawerSlide(),
        "/drawer4": (context) => DrawerSlideWithHeader(),
        "/drawer5": (context) => DrawerCustomItem(),
        "/drawer6": (context) => DrawerScaleIcon(),
        "/drawer7": (context) => DrawerSlideCustomAppBar(),
        "/drawer8": (context) => DrawerSlideWithFooter(),
      },
    );
  }
}
165
likes
40
points
1.17k
downloads

Publisher

verified publisherzariman.dev

Weekly Downloads

Drawer behavior is a library that provide an extra behavior on drawer, such as, move view or scaling view's height while drawer on slide..

Homepage

License

MIT (license)

Dependencies

flutter

More

Packages that depend on drawerbehavior