前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Flutter中使用flutter_cupertino_date_picker选择时间

Flutter中使用flutter_cupertino_date_picker选择时间

作者头像
越陌度阡
发布于 2022-05-06 07:00:09
发布于 2022-05-06 07:00:09
1.5K00
代码可运行
举报
运行总次数:0
代码可运行

1. 安装插件

配置flutter_cupertino_date_picker。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter
  date_format: ^1.0.6
  flutter_cupertino_date_picker: ^1.0.26+2

在pubspec.yaml中配置保存后,在VS Code环境中会自动下载依赖包。

如果无法正常下载,执行 flutter pub get 。

2. 引入插件

在需要用到的该插件文件中引入插件包。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import 'package:flutter_cupertino_date_picker/flutter_cupertino_date_picker.dart';

3. 使用插件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DateTime _dateTime=DateTime.now();

// 显示时间的方法
void _showDatePicker(){

    DatePicker.showDatePicker(
        context,
        onMonthChangeStartWithFirstDate: true,

        // 如果报错提到 DateTimePickerTheme 有问题,点开这个类的原文件作如下修改。
        // 移除'with DiagnosticableMixin'或者将'DiagnosticableMixin'改成'Diagnosticable'.
        pickerTheme: DateTimePickerTheme(
            showTitle: true,
            confirm: Text('确认', style: TextStyle(color: Colors.red)),
            cancel: Text('取消',style:TextStyle(color:Colors.cyan))
        ),

        minDateTime: DateTime.parse("1970-01-01"),
        maxDateTime: DateTime.parse("2050-01-01"),

        initialDateTime: _dateTime,

        // 显示日期
        // dateFormat: "yyyy-MMMM-dd",
        
        // 显示日期与时间
        dateFormat:'yyyy年M月d日    EEE,H时:m分',  // show TimePicker
        pickerMode: DateTimePickerMode.datetime,  // show TimePicker


        locale: DateTimePickerLocale.zh_cn,

        onChange: (dateTime, List<int> index) {
            setState(() {
                // 初始及修改保存后的时间
                _dateTime = dateTime;
            });
        },
        onConfirm: (dateTime, List<int> index) {
            setState(() {
                // 初始及修改保存后的时间
                _dateTime = dateTime;
            });
        },
    );
    
}

4. 代码完整示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import 'package:flutter/material.dart';

// 引入第三方插件
import 'package:date_format/date_format.dart';
import 'package:flutter_cupertino_date_picker/flutter_cupertino_date_picker.dart';

class DatePickerPage extends StatefulWidget {
    DatePickerPage({Key key}) : super(key: key);
    @override
    _DatePickerPageState createState() => _DatePickerPageState();
}

class _DatePickerPageState extends State<DatePickerPage> {

    DateTime _dateTime=DateTime.now();

    // 显示时间的方法
    void _showDatePicker(){

        DatePicker.showDatePicker(
            context,
            onMonthChangeStartWithFirstDate: true,

            // 如果报错提到 DateTimePickerTheme 有问题,点开这个类的原文件作如下修改。
            // 移除'with DiagnosticableMixin'或者将'DiagnosticableMixin'改成'Diagnosticable'.
            pickerTheme: DateTimePickerTheme(
                showTitle: true,
                confirm: Text('确认', style: TextStyle(color: Colors.red)),
                cancel: Text('取消',style:TextStyle(color:Colors.cyan))
            ),

            minDateTime: DateTime.parse("1970-01-01"),
            maxDateTime: DateTime.parse("2050-01-01"),

            initialDateTime: _dateTime,

            // 显示日期
            // dateFormat: "yyyy-MMMM-dd",
            
            // 显示日期与时间
            dateFormat:'yyyy年M月d日    EEE,H时:m分',  // show TimePicker
            pickerMode: DateTimePickerMode.datetime,  // show TimePicker


            locale: DateTimePickerLocale.zh_cn,

            onChange: (dateTime, List<int> index) {
                setState(() {
                    // 初始及修改保存后的时间
                    _dateTime = dateTime;
                });
            },
            onConfirm: (dateTime, List<int> index) {
                setState(() {
                    // 初始及修改保存后的时间
                    _dateTime = dateTime;
                });
            },
        );
        
    }

    @override
    Widget build(BuildContext context) {
        return Scaffold(
            appBar: AppBar(title: Text("DatePicker")),
            body:Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                    Row(
                        mainAxisAlignment: MainAxisAlignment.center,
                        children: <Widget>[
                            // 添加点击水波纹效果
                            InkWell(
                                child:Row(
                                    children: <Widget>[
                                        Text("${formatDate(_dateTime,[yyyy,'年',mm,'月',dd,' ',HH,':',nn])}"),
                                        Icon(Icons.arrow_drop_down)
                                    ],
                                ),
                                onTap:_showDatePicker
                            )
                        ],
                    )
                ],
            ) 
        );
    }
}

效果图如下:

参考:https://github.com/dylanwuzh/flutter-cupertino-date-picker

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-01-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Access追加查询
大家好,上节介绍了操作查询中的更新查询,本节介绍追加查询的内容。操作查询的注意点都是一样的,就不再重复。
无言之月
2020/08/25
3.5K0
Access追加查询
Access数据库相关知识
比如,公园到访者的数据表,可能包含的实体有:公园信息(主键是公园编号),到访者的信息(主键是到访者编号),到访者居住地的信息(主键是居住地编号)一共有2个实体,即3张表。
Sidchen
2020/08/07
4K0
Power Query 真经 - 第 8 章 - 纵向追加数据
数据专业人员经常做的工作之一是将多个数据集追加到一起。无论这些数据集是包含在一个 Excel 工作簿中,还是分布在多个文件中,问题是它们需要被纵向【追加】到一个表中。
BI佐罗
2022/05/17
7K0
Power Query 真经 - 第 8 章 - 纵向追加数据
Navicat怎样导入Excel表格和txt文本的数据
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39135287/article/details/80881746
拓荒者
2019/03/15
5.3K0
Navicat怎样导入Excel表格和txt文本的数据
Access删除查询(二)
大家好,上节介绍了删除查询中单表字段删除的示例演示,本节主要介绍下涉及多表的删除查询。
无言之月
2020/09/28
2.3K0
Access删除查询(二)
Navicat使用指南(下)
这个是比较常见的功能,相比其他管理工具,Navicat将建表过程中所涉及的各种常用功能都包含进去了,包含新字段,索引,主键,外键,唯一键等等与表有关的内容,具体如下图:
SQL数据库开发
2024/04/25
2820
Navicat使用指南(下)
CodeWave系列:4.CodeWave 智能开发平台 模型构建及使用
前一节我们学习了CodeWave的页面布局和页面呈现,现在我们已经可以通过CodeWave进行简答的页面搭建了,本节我们开始学习数据模型的构建以及通过数据模型进行相关页面开发的功能。
Freedom123
2024/03/29
5160
CodeWave系列:4.CodeWave 智能开发平台 模型构建及使用
技术分享 | 关于 MySQL 自增 ID 的事儿
当我们使用 MySQL 进行数据存储时,一般会为一张表设置一个自增主键,当有数据行插入时,该主键字段则会根据步长与偏移量增长(默认每次+1)。
爱可生开源社区
2022/02/09
4K0
可视化数据库设计软件有哪些_数据库可视化编程
直观的说 1)首先,在数据库Sql server2019中新建一个数据库eg:students;
全栈程序员站长
2022/08/03
7K0
可视化数据库设计软件有哪些_数据库可视化编程
Access获取外部数据(一)
在使用数据的过程中,实际上直接向数据库中输入数据是十分少见的,更多的情况是直接使用已使用的数据文件,可以避免需要重复输入数据的麻烦。本节先介绍导入和导出数据。
无言之月
2020/02/26
3.1K0
Access删除查询(一)
操作查询的注意点在使用删除查询时需要特别注意,因为删除查询会将表中的数据实际删除。
无言之月
2020/09/15
4.4K0
MySQL数据表中的auto_increment自增值属性及修改
长期以来,我的博客数据库中连续文章的主键编号一直都不是连续的,让我这个强迫症晚期患看着很不舒服。在忍受了这么长时间以后,趁着给博客换域名的时机,我把所有的文章编号全部改成了连续的,可算是舒服多了。
知识分子没文化
2023/07/01
3.9K1
MySQL数据表中的auto_increment自增值属性及修改
如何将excel表格导入mysql数据库_MySQL数据库
打开企业管理器开要导入数数据库,在表上按右键,所务–>导入数据,弹出DTS导入/导出向导,按 下一步 , 2、选择数据源 Microsoft Excel 97-2000,文件名 选择要导入的xls文件,按 下一步 , 3、选择目的 用于SQL Server 的Microsoft OLE DB提供程序,服务器选择本地(如果是本地数据库的话,如 VVV),使用SQL Server身份验证,用户名sa,密码为空,数据库选择要导入数据的数据库(如 client),按 下一步 , 4、选择 用一条查询指定要传输的数据,按 下一步 , 5、按 查询生成器,在源表列表中,有要导入的xls文件的列,将各列加入到右边的 选中的列 列表中,这一步一定要注意,加入列的顺序一定要与数据库中字段定义的顺序相同,否则将会出错,按 下一步 , 6、选择要对数据进行排列的顺序,在这一步中选择的列就是在查询语
全栈程序员站长
2022/11/08
56.4K0
Access数据库创建表
大家好,上节介绍了最常用的概念模型E-R模型,并通过模型将图书馆管理数据库分成不同的表格,本节简单演示下在Access数据库中创建对应的表。涉及的问题主要是字段的数据类型。
无言之月
2019/10/13
4.1K0
Mysql Workbench使用教程
MySQL Workbench 为数据库管理员、程序开发者和系统规划师提供可视化的Sql开发、数据库建模、以及数据库管理功能。
全栈程序员站长
2022/09/05
8.2K0
Mysql Workbench使用教程
面试官:MySQL中的自增主键用完了怎么办?
这个问题是一个粉丝给我提的,我觉得挺有意(KENG)思(B)! 于是,今天我们就来谈一谈,这个自增主键用完了该怎么办!
帅地
2019/08/26
9.2K2
面试官:MySQL中的自增主键用完了怎么办?
SQL Server数据库中导入导出数据及结构时主外键关系的处理
  软件开发中,经常涉及到不同数据库(包括不同产品的不同版本)之间的数据结构与数据的导入导出。处理过程中会遇到很多问题,尤为突出重要的一个问题就是主从表之间,从表有外检约束,从而导致部分数据无法导入。
张传宁IT讲堂
2019/09/17
1.9K0
SQL Server数据库中导入导出数据及结构时主外键关系的处理
增加删除字段修改字段名,修改表结构,非常用SQL语句技巧总结
Alter TABLE [dbo].[CustomerBackupConfig] Add [Stamp] [timestamp] NULLGO
用户5745385
2019/10/22
2.3K0
Power Query 真经 - 第 10 章 - 横向合并数据
导语:Power Query 是可证明的,在这个星球上性价比最高的数据处理工具,如果你的工作中需要处理数据,注意,是处理,不是分析,那么此工具必须掌握。对此,90%的鼠标点击,5%的猜测以及5%的公式能力足以。本文来自《Master Your Data》的第十章,非常重要,必须掌握。
BI佐罗
2022/12/18
4.5K0
Power Query 真经 - 第 10 章 - 横向合并数据
OB 运维 | MySQL 迁移 Oracle 场景中自增主键的实践
作者:赵黎明,爱可生 MySQL DBA 团队成员,熟悉 Oracle、MySQL 等数据库,擅长数据库性能问题诊断、事务与锁问题的分析等,负责处理客户 MySQL 及我司自研 DMP 平台日常运维中的问题,对开源数据库相关技术非常感兴趣。
爱可生开源社区
2023/10/23
4100
OB 运维 | MySQL 迁移 Oracle 场景中自增主键的实践
推荐阅读
相关推荐
Access追加查询
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验