[Flutter]TextFormFieldをタップした時にDatePickerを表示するには?

Flutter

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

TextFormFieldをタップした時にDatePickerを表示する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

TextFormFieldをタップした時にDatePickerを表示するには、引数「onTap」を使います。

具体的には、TextFormFieldの引数「onTap」の関数内で、showDatePicker関数を呼び出します。

TextFormField(
  onTap: () {
    final date = showDatePicker(・・・);
  },
),

これでTextFormFieldがタップされた時にDatePickerを表示することが出来ます。

もし、TextFormFieldをタップした時にキーボードを表示したくないならば、showDatePickerの前にFocusScopeを呼び出します。

TextFormField(
  onTap: () {
    FocusScope.of(context).requestFocus(new FocusNode());
    final date = showDatePicker(・・・);
  },
),

使用例

以下は、使用例です。

TextFormField(
  onTap: () {
    FocusScope.of(context).requestFocus(new FocusNode());
    final date = showDatePicker(
      context: context,
      initialDate: DateTime.now(),
      firstDate: DateTime(DateTime.now().year - 1),
      lastDate: DateTime(DateTime.now().year + 1),
    );
  },
),

コメント

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