Flutter第三方選擇器組件
调用Flutter的第三方时间选择器组件
上面我介绍了系统给我们提供的日期时间选择器,但是有时候系统提供的选择器并不符合我们的要求,这时我们就可以到pub.dev上去寻找符合我们要求的日期选择器。
这里我们介绍一款Cupertino风格(即iOS风格)的日期选择器——flutter_cupertino_date_picker。
使用代码如下:
import 'package:date_format/date_format.dart';
import 'package:flutter/material.dart';
import 'package:flutter_cupertino_date_picker/flutter_cupertino_date_picker.dart'; class TimePickerPage extends StatefulWidget {
TimePickerPage({Key key}) : super(key: key); _TimePickerPageState createState() => _TimePickerPageState();
} class _TimePickerPageState extends State<TimePickerPage> {
DateTime _selectedDateTime = DateTime.now(); @override
Widget build(BuildContext context) {
void _showDatePicker() {
DatePicker.showDatePicker(
context,
pickerTheme: DateTimePickerTheme(
showTitle: true,
confirm: Text('custom Done', style: TextStyle(color: Colors.red)),
cancel: Text('custom cancel', style: TextStyle(color: Colors.cyan)),
),
minDateTime: DateTime.parse("2010-05-12"), //选择器上可选择的最早时间
maxDateTime: DateTime.parse("2021-11-25"), //选择器上可选择的最晚时间
initialDateTime: _selectedDateTime, //选择器的当前选中时间
dateFormat: "yyyy-MMMM-dd", //时间格式
locale: DateTimePickerLocale.zh_cn, //国际化配置
onClose: () => print("----- onClose -----"),
onCancel: () => print('onCancel'),
onChange: (dateTime, List<int> index) {
setState(() {
_selectedDateTime = dateTime;
});
},
onConfirm: (dateTime, List<int> index) {
setState(() {
_selectedDateTime = dateTime;
});
},
);
} /// Display time picker.
void _showDateTimePicker() {
DatePicker.showDatePicker(
context,
minDateTime: DateTime.parse("2019-05-15 09:23:10"),
maxDateTime: DateTime.parse("2020-06-03 21:11:00"),
initialDateTime: DateTime.parse(formatDate(_selectedDateTime, [yyyy, "-", mm, "-", "dd", " ", HH, ":", nn, ":", ss])),
dateFormat: "yy年M月d日 EEE,H时:m分",
locale: DateTimePickerLocale.zh_cn,
pickerTheme: DateTimePickerTheme(
showTitle: true,
),
pickerMode: DateTimePickerMode.datetime, // show TimePicker
onCancel: () {
debugPrint('onCancel');
},
onChange: (dateTime, List<int> index) {
setState(() {
_selectedDateTime = dateTime;
});
},
onConfirm: (dateTime, List<int> index) {
setState(() {
_selectedDateTime = dateTime;
});
},
);
} return Scaffold(
appBar: AppBar(title: Text("时间选择器演示页面")),
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
InkWell(
onTap: () {
_showDatePicker();
},
child: Row(
children: <Widget>[
Text(formatDate(
_selectedDateTime, [yyyy, "-", mm, "-", dd])),
Icon(Icons.arrow_drop_down)
],
),
)
],
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
InkWell(
onTap: () {
_showDateTimePicker();
},
child: Row(
children: <Widget>[
Text(formatDate(_selectedDateTime,
[yyyy, "-", mm, "-", dd, " ", HH, ":", nn])),
Icon(Icons.arrow_drop_down)
],
),
)
],
)
],
),
);
}
}
Flutter第三方選擇器組件的更多相关文章
- jquery 選擇器
		
jquery 選擇器有: 元素選擇器: $("p")選擇所有<p> $("p.intro")選擇所有class=“intro”的<p> ...
 - ColorPic 一套簡單好用的顏色選擇器!
		
做美工的時候,常常會有配色.抓取顏色及獲取顏色代碼的困擾,專業人士可能有很好的工具來協助,但對於偶爾需要或非經常接觸美工的人來說,即便是有很好的工具,也還要花很多時間進行學習,常常就是看到一個漂亮的顏 ...
 - [T-SQL] NCL INDEX 欄位選擇效能影響-解析
		
因為這篇文章寫的比較長一些,我就將總結先列出來 總結 1. 除了WHERE條件外,JOINColumn除了記得建立索引,也要注意到選擇性的高低,如果真的找不到可用的Column,可以考慮在兩邊關聯的表 ...
 - Qt上FFTW組件的编译与安裝
		
Qt上FFTW組件的編譯安裝 FFTW是一個做頻譜非常實用的組件,本文講述在Windows和Linux兩個平臺使用FFTW組件.Windows下的的FFTW組件已經編譯好成爲dll文件,按照開發應用的 ...
 - 用Razor語法寫範本-RazorEngine組件介紹【转——非常好,可以用它来代替NVelocity】
		
RazorEngine 官網網址:http://razorengine.codeplex.com 在找到RazorEngine之前曾經想過其他的方案,如T4與V8 Engine載jquery.temp ...
 - DC DC電路電感的選擇
		
注:只有充分理解電感在DC/DC電路中發揮的作用,才能更優的設計DC/DC電路.本文還包括對同步DC/DC及異步DC/DC概念的解釋. DCDC電路電感的選擇 簡介 在開關電源的設計中電感的設計為 ...
 - 用Razor語法寫範本-RazorEngine組件介紹
		
最近剛好有要寫寄Email的程式,在代碼中寫HTML覺得很呆,抽出代碼外寫到txt或html檔當範本,由程式執行時在載入檔案時用Regex換關鍵字又覺得不夠好用,而且因為有時會有要判斷一些條件,就會寫 ...
 - 何解決 LinqToExcel 發生「無法載入檔案或組件」問題何解決 LinqToExcel 發生「無法載入檔案或組件」問題
		
在自己的主機上透過 Visual Studio 2013 與 IISExpress 開發與測試都還正常,但只要部署到測試機或正式機,就是沒辦法順利執行,卡關許久之後找我協助.我發現錯誤訊息確實很「一般 ...
 - C# 選擇本機檔案並上傳
		
參考自:http://www.dotblogs.com.tw/puma/archive/2008/11/07/5910.aspxhttp://www.codeproject.com/Articles/ ...
 
随机推荐
- dede织梦5.7上传图片302以及Error #2038问题解决
			
dede织梦5.7上传图片302以及Error #2038问题解决 三月 19, 2012 · Posted in DEDE二次开发, PHP Number of View: 1388 在后台图片集 ...
 - Queue2链队列
			
链队列 1 #include <iostream> using namespace std; template <class T> class Queue { private: ...
 - 让VirtualBox虚拟机实现开机自动后台运行
			
转至:http://www.cnblogs.com/top5/archive/2012/01/19/2326234.html 测试环境:Host OS: Windows 7 x64 Guest OS: ...
 - create-react-app下的@修饰器正确的使用方式记录
			
在create-react-app下使用es7的@修饰器会报错''Support for the experimental syntax 'decorators-legacy' isn't curre ...
 - html、css、js分工,内核,html头,html表单
			
html:内容css:样式js:交互 内核 浏览器控制台输入navigator.userAgent,回车显示出内核"Mozilla/5.0 (Windows NT 6.1; WOW64) A ...
 - 牛客提高D4t3 清新题
			
分析 树上从下往上线性基合并即可 并不需要启发式/xyx 代码 #include<iostream> #include<cstdio> #include<cstring& ...
 - Jenkins使用三:管理slave节点(配置SSH公钥和私钥)
			
添加slave 给节点起个名字 1.远程工作目录:/test/workspace--这个地址是测试机的 jenkins 的 workspace 工作目录,自己随便写个本机的路径2.用法--尽可能的使用 ...
 - Android深度探索-卷1第十章心得体会
			
本章介绍了传统的printk 函数调试技术和其他的调试技术,如gdb gdbserver kgdb 对于复杂的Linux 驱动及HAL 等程序库,需要使用各种方法对其进行调试,如,设置断点.逐步跟踪 ...
 - Win7 64位注册32位DLL
			
记忆力越来越差,备忘. 参考地址 https://support.microsoft.com/en-us/help/249873/how-to-use-the-regsvr32-tool-and-tr ...
 - linux操作系统的调度策略
			
linux的进程分为两种 1.实时进程,优先级高,操作系统会优先执行这种进程 2.普通进程,大多数的进程都是这种进程 调度策略 unsigned int policy; 调度策略的定义 #define ...