[flutter] Scaffold에서 drawer 아이템을 클릭했을 때 라우팅하는 방법은 어떻게 되나요?
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter Drawer 라우팅 예제'),
),
drawer: Drawer(
child: ListView(
children: [
ListTile(
title: Text('화면 1'),
onTap: () {
Navigator.pop(context);
Navigator.push(
context,
MaterialPageRoute(builder: (context) => Screen1()),
);
},
),
ListTile(
title: Text('화면 2'),
onTap: () {
Navigator.pop(context);
Navigator.push(
context,
MaterialPageRoute(builder: (context) => Screen2()),
);
},
),
],
),
),
body: Center(
child: Text('메인 화면'),
),
);
}
}
class Screen1 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('화면 1'),
),
body: Center(
child: Text('화면 1'),
),
);
}
}
class Screen2 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('화면 2'),
),
body: Center(
child: Text('화면 2'),
),
);
}
}
위의 예시 코드에서는 ListView 내에 ListTile을 사용하여 drawer 아이템을 만들고, 각 아이템을 클릭했을 때 Navigator를 이용하여 새로운 화면으로 이동하도록 설정했습니다.
더 자세한 내용은 Flutter 공식 문서를 참고하시기 바랍니다.