第三方时间插件flutter_cupertino_date_picker 1.0.26+2 - flutter

//需要修改with, Diagnosticable
class DateTimePickerTheme with Diagnosticable{
  final cancelDefault = const Text('OK');
import 'package:date_format/date_format.dart';
import 'package:flutter/cupertino.dart' as cup;
import 'package:flutter/material.dart';
import 'package:flutter_cupertino_date_picker/flutter_cupertino_date_picker.dart';
class GoodsInfo extends StatefulWidget {

  var arguments;

  GoodsInfo({this.arguments});

  @override
  _GoodsInfoState createState() => _GoodsInfoState(arguments:this.arguments);
}

class _GoodsInfoState extends State<GoodsInfo> {

  var arguments;
  _GoodsInfoState({this.arguments});
  DateTime otherDateTime = DateTime.now();
  DateTime otherTime = DateTime.now();
  var cupertino;

  _cupertinoPickerDate(){
    DatePicker.showDatePicker(
        context,
        minDateTime: DateTime(1900),
        maxDateTime: DateTime(2000),
        initialDateTime: DateTime(1990),
        // dateFormat: "yyyy MM dd",
        locale: DateTimePickerLocale.zh_cn ,
        pickerMode: DateTimePickerMode.date,
    //     pickerTheme: DateTimePickerTheme(
    //       title: Text("时间选择")
    //     ),
    //     DateVoidCallback onCancel,
    //     DateVoidCallback onClose,
    //     DateValueCallback onChange,
    //     DateValueCallback onConfirm,
        onConfirm: (dateTime, num){
          setState(() {
            this.otherDateTime = dateTime;
          });
          print(dateTime);
          print(num);
        }
    );
  }

  _cupertinoPickerTime(){
    DatePicker.showDatePicker(
        context,
        // minDateTime: DateTime(1900, 5, 1, 11, 22, 33),
        // maxDateTime: DateTime(2000, 5, 1, 11, 22, 33),
        // initialDateTime: DateTime(1990, 5, 1, 11, 22, 33),
        dateFormat: "HH时,mm分,ss秒",
        locale: DateTimePickerLocale.zh_cn,
        pickerMode: DateTimePickerMode.time,
        //     pickerTheme: DateTimePickerTheme(
        //       title: Text("时间选择")
        //     ),
        //     DateVoidCallback onCancel,
        //     DateVoidCallback onClose,
        //     DateValueCallback onChange,
        //     DateValueCallback onConfirm,
        onConfirm: (dateTime, num){
          setState(() {
            this.otherTime = dateTime;
          });
          print(dateTime);
          print(num);
        }
    );
  }

  @override
  void initState() { //初始化函数, 在构造函数之后执行
    // TODO: implement initState
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("GoodsInfo"),
      ),
      body: Center(
        child: Column(
          children: [
            Row(
              children: [
                InkWell(
                  child: Row(
                    children: [
                      Text(formatDate(this.otherDateTime, ["yyyy","年","m","月","dd","日"])),
                      Icon(Icons.arrow_drop_down),
                    ],
                  ),
                  onTap: this._cupertinoPickerDate,
                ),
                InkWell(
                  child: Row(
                    children: [
                      Text(formatDate(this.otherTime, ["HH",":","nn",":","ss"])),
                      Icon(Icons.arrow_drop_down),
                    ],
                  ),
                  onTap: this._cupertinoPickerTime,
                )
              ],
            )
          ],
        ),
      ),
    );
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值