flutter开发实战-生日等日期选择器DatePicker

flutter开发实战-生日等日期选择器DatePicker

在开发遇到设置生日等信息需要选择日期,这里用到的是CupertinoDatePicker

iOS效果的日期、时间选择器

一、效果图

运行后效果图如下

在这里插入图片描述

二、代码实现

我们需要调用底部弹窗显示

//显示底部弹窗static void bottomSheetDialog(BuildContext context,Widget widget, {bool? isScrollControlled,bool? enableDrag,Color? backgroundColor,}) {showModalBottomSheet(context: context,isScrollControlled: isScrollControlled ?? true,enableDrag: enableDrag ?? true,backgroundColor: backgroundColor ?? Colors.white,builder: (ctx) {return widget;},);}

生日日期选择
ProfileBirthdayPicker

class ProfileBirthdayPicker extends StatefulWidget {const ProfileBirthdayPicker({Key? key,required this.confirmPressed,}) : super(key: key);final Function(String date) confirmPressed;State<ProfileBirthdayPicker> createState() => _ProfileBirthdayPickerState();
}class _ProfileBirthdayPickerState extends State<ProfileBirthdayPicker> {String _datePickerDate = "";Widget build(BuildContext context) {return Container(height: 256.0,color: Colors.white,child: Column(mainAxisAlignment: MainAxisAlignment.start,crossAxisAlignment: CrossAxisAlignment.center,children: [_buildButtonRow(context),Expanded(child: CupertinoDatePicker(dateOrder: DatePickerDateOrder.ymd,mode: CupertinoDatePickerMode.date,initialDateTime: DateTime.now(),onDateTimeChanged: (date) {print('onDateTimeChanged - $date');String dateString =DateUtil.formatDate(date, format: "yyyy-MM-dd");_datePickerDate = dateString;},),),],),);}Widget _buildButtonRow(BuildContext context) {return Row(mainAxisAlignment: MainAxisAlignment.spaceBetween,crossAxisAlignment: CrossAxisAlignment.center,children: [ButtonWidget(width: 80,height: 50,onPressed: () {DialogUtil.pop(context);},child: Text("取消",textAlign: TextAlign.center,softWrap: true,style: TextStyle(fontSize: 16,fontWeight: FontWeight.w500,fontStyle: FontStyle.normal,color: ColorUtil.hexColor(0xA1A1A1),decoration: TextDecoration.none,),),highlightedColor: ColorUtil.hexColor(0xf7f7f7),bgColor: ColorUtil.hexColor(0xffffff),bgHighlightedColor: ColorUtil.hexColor(0xf7f7f7),enabled: true,bgDisableColor: Colors.grey,borderRadius: 8.0,),ButtonWidget(width: 80,height: 50,onPressed: () {widget.confirmPressed(_datePickerDate);DialogUtil.pop(context);},child: Text("确定",textAlign: TextAlign.center,softWrap: true,style: TextStyle(fontSize: 16,fontWeight: FontWeight.w400,fontStyle: FontStyle.normal,color: ColorUtil.hexColor(0x338FFF),decoration: TextDecoration.none,),),highlightedColor: ColorUtil.hexColor(0xf7f7f7),bgColor: ColorUtil.hexColor(0xffffff),bgHighlightedColor: ColorUtil.hexColor(0xf7f7f7),enabled: true,bgDisableColor: Colors.grey,borderRadius: 8.0,),],);}
}

三、小结

flutter开发实战-生日等日期选择器DatePicker。iOS效果风格的日期选择器:CupertinoDatePicker。

学习记录,每天不停进步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/680.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kubernetes安全机制

//机制说明 Kubernetes 作为一个分布式集群的管理工具&#xff0c;保证集群的安全性是其一个重要的任务。API Server 是集群内部各个组件通信的中介&#xff0c; 也是外部控制的入口。所以 Kubernetes 的安全机制基本就是围绕保护 API Server 来设计的。 比如 kubectl 如果想向…

Python实现PSO粒子群优化算法优化BP神经网络回归模型(BP神经网络回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 PSO是粒子群优化算法&#xff08;Particle Swarm Optimization&#xff09;的英文缩写&#xff0c;是一…

Flutter ValueNotifier 监听数据变化

系统提供了 ValueNotifier 组件的实现数据监听&#xff0c;局部刷新&#xff1a; /// 声明可能变化的数据 ValueNotifier<int> valueNotifier ValueNotifier(0);监听数据&#xff1a; ValueListenableBuilder<int>(/// 建立与 _statusNotifier 的绑定关系valueL…

H3C-Cloud Lab实验-三层交换机实验

实验拓扑图&#xff1a; 实验需求&#xff1a; 1. 按照图示为 PC2 和 PC3 配置 IP 地址和网关 2. PC2 属于 Vlan10&#xff0c;PC3 属于 Vlan20&#xff0c;在三层交换机上配置 Vlanif 三层接口实现 Vlan10 和 Vlan20 三层互通 3. PC2 和 PC3 可以互通 实验步骤&#xff1a…

WEB:Web_php_include(多解)

背景知识 文件包含 file://协议 php://协议 data://协议 了解strstr函数 题目 <?php show_source(__FILE__); echo $_GET[hello]; /*可以构造payload*/ $page$_GET[page]; while (strstr($page, "php://")) { /*strstr()函数*/$pagestr_replace("php://&q…

Django实现接口自动化平台(十一)项目模块Projects序列化器及视图【持续更新中】

相关文章&#xff1a; Django实现接口自动化平台&#xff08;十&#xff09;自定义action names【持续更新中】_做测试的喵酱的博客-CSDN博客 本章是项目的一个分解&#xff0c;查看本章内容时&#xff0c;要结合整体项目代码来看&#xff1a; python django vue httprunner …

ICU 排序规则设置概述(Ⅰ)

ICU 排序规则设置概述&#xff08;1&#xff09; 2023年5月16日 原文链接&#xff1a;http://peter.eisentraut.org/blog/2023/05/16/overview-of-icu-collation-settings 作者&#xff1a;Peter Eisentraut&#xff08;彼得艾森特劳特&#xff09; 在 PostgreSQL 中&#…

携6亿用户进场,钉钉上线借款服务

来源 | 镭射财经&#xff08;leishecaijing&#xff09; 「镭射财经」注意到&#xff0c;用户数超6亿的云办公巨头钉钉已入局助贷业务&#xff0c;上线借款服务。据了解&#xff0c;钉钉的助贷业务已上线一段时间&#xff0c;目前仅有四家资金方。 产品信息显示&#xff0c;钉…

在外Windows远程连接MongoDB数据库【无公网IP】

文章目录 前言1. 安装数据库2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射2.3 测试随机公网地址远程连接 3. 配置固定TCP端口地址3.1 保留一个固定的公网TCP端口地址3.2 配置固定公网TCP端口地址3.3 测试固定地址公网远程访问 转载自cpolar极点云文章&#xff1a;公网远程…

论文阅读-2:基于深度学习的大尺度遥感图像建筑物分割研究

一、该网络中采用了上下文信息捕获模块。通过扩大感受野&#xff0c;在保留细节信息的同时&#xff0c;在中心部分进行多尺度特征的融合&#xff0c;缓解了传统算法中细节信息丢失的问题&#xff1b;通过自适应地融合局部语义特征&#xff0c;该网络在空间特征和通道特征之间建…

docker服务启动过程分析

How docker.service start&#xff1f; just by ref 我们先了解docker的各个核心组件的介绍 runc&#xff1a;runc实现了容器的底层功能&#xff0c;例如创建、运行等。runc通过调用内核接口为容器创建和管理cgroup、namespace等Linux内核功能&#xff0c;来实现容器的核心特…

CXXABI_1.3.8 not found

文章首发于 CXXABI_1.3.8 not found 。 当在 CentOS 7 安装 sqlite3 时会遇到 /lib64/libstdc.so.6: version CXXABI_1.3.8 not found 报错的问题&#xff0c;下面罗列出我的解决流程&#xff1a; 查看 libstdc.so.6 包含的 CXXABI 版本 # 查看本地 CXXABI 所有可用版本 str…

Leetcode刷题——二分查找(day1)

题目1 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。 示例 1: 输入: nums [-1,0,3,5,9,12], target 9 输出: 4 解释…

PyTorch预训练和微调:以VGG16为例

文章目录 预训练和微调代码测试结果参考来源 预训练和微调代码 数据集&#xff1a;CIFAR10 CIFAR-10数据集由10类32x32的彩色图片组成&#xff0c;一共包含60000张图片&#xff0c;每一类包含6000图片。其中50000张图片作为训练集&#xff0c;10000张图片作为测试集。数据集介…

SolidUI AI生成可视化,0.1.0版本模块划分以及源码讲解

1.背景 随着文本生成图像的语言模型兴起&#xff0c;SolidUI想帮人们快速构建可视化工具&#xff0c;可视化内容包括2D,3D,3D场景&#xff0c;从而快速构三维数据演示场景。SolidUI 是一个创新的项目&#xff0c;旨在将自然语言处理&#xff08;NLP&#xff09;与计算机图形学相…

【微信小程序-uniapp】CustomDialog 居中弹窗组件

1. 效果图 2. 组件完整代码 <template><uni-popup :ref="ref" type="center" @change

Ubuntu下配置Redis哨兵集群

目录 准备实例和配置 启动哨兵集群 测试配置 搭建一个三节点形成的Sentinel集群&#xff0c;来监管Redis主从集群。 三个sentinel哨兵实例信息如下&#xff1a; 节点IPPORTs1192.168.22.13527001s2192.168.22.13527002s3192.168.22.13527003 准备实例和配置 要在同一台虚…

Google Bard 拓展与归纳

导言&#xff1a; Bard&#xff08;谷歌人工智能语言模型“https://bard.google.com”&#xff09;在不断演进和改进中&#xff0c;为用户提供了更丰富、便捷和个性化的服务体验。本文集将深入探索 Bard 在不同方面的关键更新&#xff0c;包括语言支持扩大、图像呈现、交互方式…

组合式API

文章目录 前言了解组合式API简单类型 ref封装对象类型 user.name子组件数组类型 reactive封装 组合式 API 基础练习基础练习优化 前言 Vue 3 的组合式 API&#xff08;Composition API&#xff09;是一组函数和语法糖&#xff0c;用于更灵活和可组合地组织 Vue 组件的代码逻辑…

leetcode 538. 把二叉搜索树转换为累加树

2023.7.16 这道题利用中序遍历&#xff08;右中左&#xff09;的操作不断修改节点的值即刻&#xff0c;直接看代码&#xff1a; class Solution { public:TreeNode* convertBST(TreeNode* root) {stack<TreeNode*> stk;//前面的累加值int pre_value 0;TreeNode* cur r…