Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
560 of 1024 menu
◀ ▶

Функция showDatePicker

Функция showDatePicker показывает диалог календаря Material. Контекст - context, начальная дата - initialDate, границы - firstDate и lastDate. Возвращает Future с DateTime или null.

Синтаксис

showDatePicker( context: context, initialDate: DateTime.now(), firstDate: DateTime(2020), lastDate: DateTime(2030), )

Параметры

Параметр Описание
context Контекст экрана.
initialDate День, выделенный при открытии.
firstDate Минимально доступная дата.
lastDate Максимально доступная дата.

Пример

Давайте откроем календарь по кнопке:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: DatePage())); } class DatePage extends StatelessWidget { const DatePage({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: Center( child: ElevatedButton( onPressed: () async { await showDatePicker( context: context, initialDate: DateTime.now(), firstDate: DateTime(2024), lastDate: DateTime(2025), ); }, child: Text('abcde'), ), ), ); } }

Откроется стандартный календарь выбора даты.

Пример

Давайте покажем выбранный день на экране:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: DatePage2())); } class DatePage2 extends StatefulWidget { const DatePage2({super.key}); @override State<DatePage2> createState() => _DatePage2State(); } class _DatePage2State extends State<DatePage2> { String label = '12345'; @override Widget build(BuildContext context) { return Scaffold( body: Center( child: ElevatedButton( onPressed: () async { final d = await showDatePicker( context: context, initialDate: DateTime.now(), firstDate: DateTime(2024), lastDate: DateTime(2025), ); if (d != null) setState(() => label = '${d.day}'); }, child: Text(label), ), ), ); } }

После выбора на кнопке появится число дня месяца.

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить