Example 1: flutter drawer
Scaffold(
drawer: Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: [
DrawerHeader(
child: Text("Header")),
ListTile(
title: Text("Home"))
]),
),
);
Example 2: app drawer in flutter
class navigationDrawer extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: <Widget>[
createDrawerHeader(),
createDrawerBodyItem(
icon: Icons.home,text: 'Home'),
createDrawerBodyItem(
icon: Icons.account_circle,text: 'Profile'),
createDrawerBodyItem(
icon: Icons.event_note,text: 'Events'),
Divider(),
createDrawerBodyItem(
icon: Icons.notifications_active,text: 'Notifications'),
createDrawerBodyItem(
icon: Icons.contact_phone,text: 'Contact Info'),
ListTile(
title: Text('App version 1.0.0'),
onTap: () {},
),
],
),
);
}
}
Example 3: flutter screen hidden drawer dont show on all pages
class MyDrawer extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Drawer(...);
}
}
---------------------------------------------------------
And then when using it in each page:
Scaffold(
drawer: MyDrawer(...),
...
)
Example 4: app drawer in flutter
Widget createDrawerHeader() {
return DrawerHeader(
margin: EdgeInsets.zero,
padding: EdgeInsets.zero,
decoration: BoxDecoration(
image: DecorationImage(
fit: BoxFit.fill,
image: AssetImage('images/bg_header.jpeg'))),
child: Stack(children: <Widget>[
Positioned(
bottom: 12.0,
left: 16.0,
child: Text("Welcome to Flutter",
style: TextStyle(
color: Colors.white,
fontSize: 20.0,
fontWeight: FontWeight.w500))),
]));
}
Example 5: flutter navigation drawer
Widget _createDrawerItem( {IconData icon, String text, GestureTapCallback onTap}) { return ListTile( title: Row( children: <Widget>[ Icon(icon), Padding( padding: EdgeInsets.only(left: 8.0), child: Text(text), ) ], ), onTap: onTap, );}
Example 6: flutter navigation drawer
Widget _createHeader() { return DrawerHeader( margin: EdgeInsets.zero, padding: EdgeInsets.zero, decoration: BoxDecoration( image: DecorationImage( fit: BoxFit.fill, image: AssetImage('path/to/header_background.png'))), child: Stack(children: <Widget>[ Positioned( bottom: 12.0, left: 16.0, child: Text("Flutter Step-by-Step", style: TextStyle( color: Colors.white, fontSize: 20.0, fontWeight: FontWeight.w500))), ]));}