[Flutter]カレンダーのセルにタップ処理を追加する方法

Flutter

どうも、ちょげ(@chogetarou)です。

SfCalendarで表示するカレンダーのセルをタップした時の処理を追加する方法を紹介します。

スポンサーリンク

方法

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Container(
      child: SfCalendar(
        view: CalendarView.month,
        onTap: (CalendarTapDetails details) {
          showDialog(
              context: context,
              builder: (BuildContext context) {
                return AlertDialog(
                  title: Container(
                    child: Text("${details.date}"),
                  ),
                  actions: <Widget>[
                    new TextButton(
                        onPressed: () {
                          Navigator.of(context).pop();
                        },
                        child: Text('Close'))
                  ],
                );
              });
        },
      ),
    ));
  }

カレンダーにタップ処理を追加するには、「onTap引数」を使います。

このタップには、「(CalendarTapDetails details) { }」という型の関数を指定します。

引数の「CalendarTapDetails」は、タップしたセルの情報を持つクラスです。

このクラスには、タップしたセルの日付、予定、イベントなどの様々な情報があります。

「{ }」内では、タップした時に行いたい処理を記述します。

SfCalendar (
    onTap : (CalendarTapDetails details) {
         //処理
    }
)

コメント

タイトルとURLをコピーしました