time_picker_demo.dart 1.24 KB
Newer Older
1 2 3 4 5 6 7 8
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'dart:async';

import 'package:flutter/material.dart';

9
class TimePickerDemo extends StatefulWidget {
10 11
  static const String routeName = '/time-picker';

12
  @override
13 14 15 16 17 18
  _TimePickerDemoState createState() => new _TimePickerDemoState();
}

class _TimePickerDemoState extends State<TimePickerDemo> {
  TimeOfDay _selectedTime = const TimeOfDay(hour: 7, minute: 28);

19
  Future<Null> _handleSelectTime() async {
20 21 22 23 24 25 26 27 28 29 30
    TimeOfDay picked = await showTimePicker(
      context: context,
      initialTime: _selectedTime
    );
    if (picked != _selectedTime) {
      setState(() {
        _selectedTime = picked;
      });
    }
  }

31
  @override
32
  Widget build(BuildContext context) {
33
    return new Scaffold(
34
      appBar: new AppBar(title: new Text('Time picker')),
35
      body: new Column(
36
        mainAxisAlignment: MainAxisAlignment.center,
37 38
        children: <Widget>[
          new Text('$_selectedTime'),
39
          new SizedBox(height: 20.0),
40 41 42 43
          new RaisedButton(
            onPressed: _handleSelectTime,
            child: new Text('SELECT TIME')
          ),
44
        ]
45
      )
46
    );
47 48
  }
}