Skip to content

Instantly share code, notes, and snippets.

View fabiomsr's full-sized avatar

Fabio Santana fabiomsr

View GitHub Profile
return Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: <Widget>[
// ...
_createDrawerItem(icon: Icons.event, text: 'Events',
onTap: () => Navigator.pushReplacementNamed(context, Routes.events))),
// ...
],
class EventsPage extends StatelessWidget {
static const String routeName = '/events';
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: AppBar(
title: Text("Events"),
),
drawer: AppDrawer(),
class Routes {
static const String contacts = ContactsPage.routeName;
static const String events = EventsPage.routeName;
static const String notes = NotesPage.routeName;
}
return Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: <Widget>[
_createHeader(),
_createDrawerItem(icon: Icons.contacts, text: 'Contacts', onTap: () => ...)
Divider(),
_createDrawerItem(icon: Icons.event, text: 'Events', onTap: () => ...),
ListTile(
return Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: <Widget>[
_createHeader(),
_createDrawerItem(icon: Icons.contacts, text: 'Contacts', onTap: () => ...)
Divider(),
_createDrawerItem(icon: Icons.event, text: 'Events', onTap: () => ...)
],
),
return Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: <Widget>[
_createHeader(),
_createDrawerItem(
icon: Icons.contacts,
text: 'Contacts',
onTap: () => ...,
],
return Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: <Widget>[
_createHeader()
],
),
);
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),
)
Widget _createHeader() {
return DrawerHeader(
margin: EdgeInsets.zero,
padding: EdgeInsets.zero,
decoration: BoxDecoration(
image: DecorationImage(
fit: BoxFit.fill,
image: AssetImage('res/images/drawer_header_background.png'))),
child: Stack(children: <Widget>[
Positioned(
import 'package:flutter/material.dart';
class AppDrawer extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: <Widget>[ ],