Чтобы отобразить средство выбора даты и времени во Flutter при нажатии на TextField, вы можете использовать несколько подходов. Вот несколько методов, которые вы можете рассмотреть:
-
Использование функций
showDatePicker
иshowTimePicker
:- Прикрепите прослушиватель
onTap
илиonFocus
к TextField. - В обратном вызове прослушивателя используйте функцию
showDatePicker
, чтобы отобразить диалоговое окно выбора даты. - Аналогично используйте функцию
showTimePicker
для отображения диалогового окна выбора времени.
Пример фрагмента кода:
TextEditingController _dateController = TextEditingController(); // Attach listener to TextField TextField( controller: _dateController, onTap: () async { DateTime pickedDate = await showDatePicker( context: context, initialDate: DateTime.now(), firstDate: DateTime(2000), lastDate: DateTime(2025), ); if (pickedDate != null) { _dateController.text = pickedDate.toString(); } }, );
- Прикрепите прослушиватель
-
Использование сторонних библиотек:
- Вы можете использовать популярные пакеты выбора даты и времени, такие как
flutter_datetime_picker
илиflutter_cupertino_date_picker
, которые предоставляют готовые виджеты выбора даты и времени. - Эти пакеты предлагают различные варианты настройки и могут быть легко интегрированы в ваш проект Flutter.
Пример фрагмента кода с использованием
flutter_datetime_picker
:import 'package:flutter_datetime_picker/flutter_datetime_picker.dart'; TextField( onTap: () { DatePicker.showDateTimePicker( context, showTitleActions: true, onChanged: (date) { // Handle date/time change }, onConfirm: (date) { // Handle date/time selection }, ); }, );
- Вы можете использовать популярные пакеты выбора даты и времени, такие как