This example showcases how to implement a navigation drawer in a Flutter application.
dartCopy codeimport 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Drawer Navigation',
theme: ThemeData(primarySwatch: Colors.blue),
home: HomeScreen(),
);
}
}
class HomeScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Drawer Navigation')),
drawer: Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: [
DrawerHeader(
decoration: BoxDecoration(color: Colors.blue),
child: Text(
'Navigation',
style: TextStyle(color: Colors.white, fontSize: 24),
),
),
ListTile(
title: Text('Home'),
onTap: () {
Navigator.pop(context); // Close the drawer
},
),
ListTile(
title: Text('Settings'),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SettingsScreen()),
);
},
),
],
),
),
body: Center(child: Text('Home Screen')),
);
}
}
class SettingsScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Settings')),
body: Center(child: Text('Settings Screen')),
);
}
}
Leave a Reply