[flutter] 플러터 Scaffold의 drawer 기능은 어떻게 구현되나요?
예를 들어, 다음과 같이 Scaffold 위젯을 사용하여 drawer를 추가할 수 있습니다.
import 'package:flutter/material.dart';
void main() {
runApp(MaterialApp(
home: MyHomePage(),
));
}
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter Drawer 예제'),
),
drawer: Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: <Widget>[
DrawerHeader(
child: Text('Drawer 헤더'),
decoration: BoxDecoration(
color: Colors.blue,
),
),
ListTile(
title: Text('메뉴 항목 1'),
onTap: () {
// TODO: 메뉴 항목 1을 선택했을 때 처리 로직
},
),
ListTile(
title: Text('메뉴 항목 2'),
onTap: () {
// TODO: 메뉴 항목 2을 선택했을 때 처리 로직
},
),
],
),
),
body: Center(
child: Text('Flutter Drawer 예제'),
),
);
}
}
이렇게 하면 Scaffold의 drawer 속성에 Drawer 위젯을 추가하여 몇 줄의 코드로 drawer를 구현할 수 있습니다. 위 예제에서는 Drawer 내부에 ListView와 ListTile을 사용하여 드로어 항목들을 추가했습니다.DrawerHeader는 드로어의 상단에 표시될 헤더 부분을 나타냅니다.
Scaffold 위젯을 사용하면 앱에 쉽게 drawer 기능을 추가할 수 있으며, 필요에 따라 다양한 위젯을 사용하여 drawer를 사용자 정의할 수 있습니다.
더 자세한 내용은 Flutter 공식 문서를 참고하시기 바랍니다.