はじめに
Flutterはモバイルアプリケーション開発のための人気のあるフレームワークであり、その中には多くの有用なパッケージが含まれています。その中でも、「table_calendar」は、Flutterアプリ内でカレンダー機能を簡単に実装できる注目のパッケージです。この記事では、table_calendarの導入方法と基本的な使用法を紹介します。
初めてのFlutter/Dartマルチプラットフォームアプリ開発チュートリアル
はじめに FlutterはGoogleが開発した、マルチプラットフォームのモバイルアプリ開発のフレームワークです。Flutterを使うと、AndroidとiOSの両方のプラットフォームで同時にアプリを開発することができます。 また、ブラウザ...
初めてのFlutter/Dartマルチプラットフォームアプリ開発チュートリアル
table_calendarの導入
まずは、table_calendarをプロジェクトに追加する必要があります。下記コマンドを実行してプロジェクトにパッケージを追加します。
flutter pub add table_calendar
基本的な使用法
table_calendarは非常にシンプルに使用することができます。以下は、基本的なカレンダーの表示方法です。
class CalendarScreen extends StatefulWidget {
@override
_CalendarScreenState createState() => _CalendarScreenState();
}
class _CalendarScreenState extends State {
CalendarFormat _calendarFormat = CalendarFormat.month;
DateTime _focusedDay = DateTime.now();
DateTime _selectedDay = DateTime.now();
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Table Calendar')),
body: TableCalendar(
firstDay: DateTime.utc(1900, 1, 1),
lastDay: DateTime.utc(2100, 12, 31),
focusedDay: _focusedDay,
selectedDayPredicate: (day) => isSameDay(_selectedDay, day),
calendarFormat: _calendarFormat,
onDaySelected: (currentDay, focusedDay) {
setState(() {
_selectedDay = currentDay;
_focusedDay = focusedDay;
});
},
onFormatChanged: (format) => setState(() {
_calendarFormat = format;
}),
));
}
}
このコード上にあるTableCalendar
を使用すると、月毎のカレンダーが表示されます。カレンダーの日付をタップすることで、その日の詳細を表示するなどのカスタマイズも可能です。
各種プロパティを説明すると下記のようになっています。
- firstDay:カレンダーが選択できる日付の最小値
- lastDay:カレンダーが選択できる日付の最大値
- focusedDay:現在選択されている日付
- selectedDayPredicate、onDaySelected:選択した日付を選択済みとしてマークする
- calendarFormat:カレンダーを表示するフォーマット(1ヶ月ごと、2週間ごと、1週間ごと)
- onFormatChanged:カレンダーのフォーマットを動的に変更する
初期表示は下記のように現在の日時が選択されています
ほかにも詳細な設定ができる項目として、下記のようなプロパティが用意されています
- eventLoader:カレンダーにイベントのプロパティを持つことができます。このプロパティはCalendarBuildersなどで利用することができます
- CalendarBuilders :カレンダーの細かなレイアウト設定ができます
- locale:カレンダーの言語設定がおこなえます(別途intlパッケージが必要)
まとめ
Flutterの「table_calendar」パッケージは、アプリにカレンダー機能を追加する際の強力なツールです。導入から基本的な使用法までをこの記事で紹介しましたが、公式ドキュメントやpub.devのページでさらなる詳細やカスタマイズ方法を確認できます。Flutterでのアプリ開発をさらに便利に進めるために、このパッケージをぜひ活用してください。