[flutter] 플러터 Drawer를 사용하여 설정 메뉴를 추가하는 방법은?

플러터의 Drawer 위젯은 앱의 왼쪽에서 오른쪽으로 슬라이딩되는 메뉴를 제공하는 지침이다. Drawer에 설정 메뉴를 추가하려면 다음 단계를 따르면 된다.

  1. Drawer를 사용할 위젯을 준비한다. 이 위젯은 Scaffold의 drawer 속성으로 설정될 것이다. Scaffold는 기본 앱 레이아웃을 제공하는 위젯이다.
  2. AppBar에 Drawer 아이콘을 추가한다. 이 아이콘은 앱 바 상단에 토글 버튼으로 표시되어, Drawer를 열고 닫을 수 있다.
  3. Drawer 아이템을 추가한다. 설정 메뉴와 같은 항목들을 ListTile 위젯으로 구성하여 Drawer에 추가한다.
  4. Drawer 아이템을 선택했을 때의 동작을 구현한다. onChanged 콜백 함수를 사용하여 아이템을 선택했을 때의 동작을 정의할 수 있다.

아래는 설정 메뉴를 추가한 플러터 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 StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Flutter Drawer"),
      ),
      drawer: Drawer(
        child: ListView(
          padding: EdgeInsets.zero,
          children: <Widget>[
            UserAccountsDrawerHeader(
              accountName: Text("John Doe"),
              accountEmail: Text("johndoe@example.com"),
              currentAccountPicture: CircleAvatar(
                child: Icon(Icons.person),
              ),
            ),
            ListTile(
              leading: Icon(Icons.settings),
              title: Text("Settings"),
              onTap: () {
                // 설정 페이지로 이동하는 코드 추가
              },
            ),
            ListTile(
              leading: Icon(Icons.info),
              title: Text("About"),
              onTap: () {
                // 앱 정보 페이지로 이동하는 코드 추가
              },
            ),
          ],
        ),
      ),
      body: Container(),
    );
  }
}

위 코드에서는 AppBar에 Drawer 아이콘을 추가하고, Drawer에 UserAccountsDrawerHeader를 이용하여 사용자 정보를 표시한다. 그리고 ListTile을 사용하여 설정과 앱 정보 메뉴를 추가하고, onTap 콜백 함수에서 각각의 동작을 구현하면 된다.

플러터 Drawer를 사용하여 설정 메뉴를 추가하는 방법에 대해 알아보았다. 이를 활용하여 앱에 다양한 메뉴를 추가할 수 있다.