Flutter

DatePicker 예제

Michelle Hwang 2021. 6. 26. 14:05

 

 

import 'package:flutter/material.dart';

void main() => runApp(WidgetDemo());

class WidgetDemo extends StatefulWidget {
  @override
  _WidgetDemoState createState() => _WidgetDemoState();
}

class _WidgetDemoState extends State<WidgetDemo> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: ShowDatePicker(),
    );
  }
}

class ShowDatePicker extends StatefulWidget {
  const ShowDatePicker({Key key}) : super(key: key);

  @override
  _ShowDatePickerState createState() => _ShowDatePickerState();
}

class _ShowDatePickerState extends State<ShowDatePicker> {
  DateTime _selectedDate;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('DatePicker Demo'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              style: ElevatedButton.styleFrom(
                  textStyle: const TextStyle(fontSize: 20)),
              onPressed: () {
                Future<DateTime> selectedDate = showDatePicker(
                    context: context,
                    initialDate: DateTime.now(),
                    firstDate: DateTime(1900),
                    lastDate: DateTime(2999),
                    builder: (BuildContext ccontext, Widget child) {
                      return Theme(data: ThemeData.dark(), child: child);
                    });
                selectedDate.then((date) {
                  setState(() {
                    _selectedDate = date;
                  });
                });
              },
              child: const Text('Show DatePicker'),
            ),
            _selectedDate != null
                ? Text(
                    '${_selectedDate.year} - ${_selectedDate.month} - ${_selectedDate.day}')
                : Text('날짜를 선택해 주세요.'),
          ],
        ),
      ),
    );
  }
}

'Flutter' 카테고리의 다른 글

폰트 적용하기  (0) 2021.12.14
TimePicker 예제  (0) 2021.06.26
PopupMenuButton  (0) 2021.06.26
DropdownButton  (0) 2021.05.26
Positioned / Positioned.fill  (0) 2021.05.25