5. You want to create a drawer with a header and three clickable items that navigate to different screens. Which code snippet correctly implements this behavior?
A)
Drawer(
child: Column(
children: [
DrawerHeader(child: Text('Header')),
ListTile(title: Text('Screen 1'), onTap: () { Navigator.popAndPushNamed(context, '/screen1'); }),
ListTile(title: Text('Screen 2'), onTap: () { Navigator.popAndPushNamed(context, '/screen2'); }),
ListTile(title: Text('Screen 3'), onTap: () { Navigator.popAndPushNamed(context, '/screen3'); }),
],
),
)
B)
Drawer(
child: ListView(
children: [
DrawerHeader(child: Text('Header')),
ListTile(title: Text('Screen 1')),
ListTile(title: Text('Screen 2')),
ListTile(title: Text('Screen 3')),
],
),
)
C)
Drawer(
child: ListView(
children: [
DrawerHeader(child: Text('Header')),
ListTile(title: Text('Screen 1'), onTap: () { Navigator.pop(context); }),
ListTile(title: Text('Screen 2'), onTap: () { Navigator.pop(context); }),
ListTile(title: Text('Screen 3'), onTap: () { Navigator.pop(context); }),
],
),
)
D)
Drawer(
child: Column(
children: [
DrawerHeader(child: Text('Header')),
ListTile(title: Text('Screen 1'), onTap: () { Navigator.pushNamed(context, '/screen1'); }),
ListTile(title: Text('Screen 2'), onTap: () { Navigator.pushNamed(context, '/screen2'); }),
ListTile(title: Text('Screen 3'), onTap: () { Navigator.pushNamed(context, '/screen3'); }),
],
),
)