WEBサイト制作・アプリ開発・システム開発・ブランディングデザイン制作に関するご相談はお気軽にご連絡ください。
構想段階からじっくりとヒアリングし、お客様の課題にあわせたアプローチ手法でお客様の“欲しかった”をカタチにしてご提案いたします。
Blog スタッフブログ
Flutter
システム開発
ひとくちコードスニペット
[Flutter]お手軽カレンダー表示コードスニペット
こんにちは、株式会社MIXシステム開発担当のBloomです。
今回はFlutterで利用できるコードスニペットを紹介します。まずはこちらのパッケージを導入しましょう。
flutter pub add table_calendar
それでは、試しにカレンダー表示を実装しましょう。
import 'package:flutter/material.dart';
import 'package:table_calendar/table_calendar.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) => const MaterialApp(home: CalendarSample());
}
class CalendarSample extends StatefulWidget {
const CalendarSample({super.key});
@override
State<CalendarSample> createState() => _CalendarSampleState();
}
class _CalendarSampleState extends State<CalendarSample> {
CalendarFormat _format = CalendarFormat.month;
DateTime _focusedDay = DateTime.now();
DateTime? _selectedDay;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('TableCalendar')),
body: TableCalendar(
firstDay: DateTime.utc(2020, 1, 1),
lastDay: DateTime.utc(2030, 12, 31),
focusedDay: _focusedDay,
selectedDayPredicate: (day) => isSameDay(_selectedDay, day),
onDaySelected: (selected, focused) {
setState(() {
_selectedDay = selected;
_focusedDay = focused;
});
},
calendarFormat: _format,
onFormatChanged: (format) => setState(() => _format = format),
onPageChanged: (focused) => _focusedDay = focused,
),
);
}
}
実行結果

これでカレンダー表示ができましたが、英語表示になってしまっています。これを日本語表示にする方法は次の記事で紹介させていただきます。
ともかくこれで簡単にカレンダーUI表示ができました。良かったですね。