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(),
      },
    );
  }
}
151
likes
30
pub points
82%
popularity

Publisher

verified publisherzariman.dev

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..

Repository (GitHub)
View/report issues

License

MIT (LICENSE)

Dependencies

flutter

More

Packages that depend on drawerbehavior