Flutterでのドロワー(Drawer)の作成方法


ドロワーを作成するには、以下の手順に従います。

  1. Scaffoldウィジェットを使用して、アプリケーションのメイン画面を作成します。
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('ドロワーの例'),
      ),
      body: Center(
        child: Text('メインコンテンツ'),
      ),
      drawer: Drawer(
        child: ListView(
          padding: EdgeInsets.zero,
          children: <Widget>[
            DrawerHeader(
              child: Text('ドロワーのヘッダー'),
              decoration: BoxDecoration(
                color: Colors.blue,
              ),
            ),
            ListTile(
              title: Text('メニュー項目1'),
              onTap: () {
                // メニュー項目1がタップされたときの処理
              },
            ),
            ListTile(
              title: Text('メニュー項目2'),
              onTap: () {
                // メニュー項目2がタップされたときの処理
              },
            ),
          ],
        ),
      ),
    );
  }
}

上記のコード例では、ScaffoldウィジェットのdrawerプロパティにDrawerウィジェットを設定しています。Drawerウィジェットのchildプロパティには、ドロワー内のコンテンツを定義するためにListViewウィジェットを使用しています。

ListViewウィジェット内には、ドロワーのヘッダーとメニュー項目を定義するためのウィジェットを配置します。例では、DrawerHeaderウィジェットを使用してドロワーのヘッダーを作成し、ListTileウィジェットを使用してメニュー項目を作成しています。各メニュー項目には、onTapプロパティを設定してタップ時の処理を指定することもできます。

これで、Flutterでドロワーを作成する方法とコード例を紹介しました。これを基にして、自分のアプリケーションに適したドロワーを作成してみてください。