第三百八十六回

文章目录

  • 概念介绍
  • 使用方法
  • 示例代码

我们在上一章回中介绍了Snackbar Widget相关的内容,本章回中将介绍TimePickerDialog Widget.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

概念介绍

我们在这里说的TimePickerDialog是一种弹出窗口,只不过窗口的内容固定显示为时间,它主要用来让用户选择时间,选择完时间后点击确认或者取消按钮,窗口
就会消失。本章回将详细介绍它的使用方法。

使用方法

和其它Widget类似,我们可以通过TimePickerDialog的属性来操作它,下面是一些常用的属性:

  • initialTime属性:用来调控初始化时间,也就是弹出窗口时看到的时间;
  • cancelText属性:用来控制取消按钮显示的文字;
  • confirmText属性:用来控制确认按钮显示的文字;
  • hourLabelText属性:用来控制小时显示的文字,默认显示Hour;
  • minuteLabelText属性:用来控制分钟显示的文字,默认显示Minute;
  • initialEntryMode属性:用来控制窗口的样式,有dial和input模式供选择;
    注意:上面的这些属性中initialTime属性是必选的,其它属性都是可选的。弹出窗口的默认样式默认是dial,在该样式下窗口中会显示设置时间的文字和一个圆盘钟
    表,这两种方式都可以修改时间,我的经验是修改成input样式,使用文字形式修改时间,主要是圆盘钟表有些大,占用了很大一部分屏幕。TimePickeerDialog组件
    不能单独使用,需要配合showDialog()方法或者showTimePicker()方法一起使用才可以。接下来我们通过代码来演示它们如何配合使用。

示例代码

showDialog(
    context: context,
    builder: (context) {
      return const TimePickerDialog(
        initialTime: TimeOfDay(hour: 12, minute: 3),
        initialEntryMode: TimePickerEntryMode.dial,
      );
});

showTimePicker(
  context: context,
  hourLabelText: "H",
  minuteLabelText: "M",
  initialEntryMode: TimePickerEntryMode.inputOnly,
  initialTime: TimeOfDay(hour: 12, minute: 3),
);

在上面的代码中,我们使用了两种方法来显示TimePickerDialog:showDialog()方法通过builder属性创建了一个TimePickerDialog对象。showTimePicker()
方法是直接显示TimePicker,访方法的参数和TimePickerDialog的属性十分相似。把这种方法赋值给Button类组件的onPress属性,点击Button时就会弹出窗口,
然后就可以在窗口中选择时间了。虽然这两种方法都可以创建TimePickerDialog,但是我推荐使用showTimePicker()方法,一方面它比showDialog()方法使用
方便,另一方面showDialog()方法中设置TimePickerDialog的属性时没有效果,也就是说你无法修改窗口中显示的内容。我建议大家自己动手试试,体会一下这两种
方法的不同点。
看官们,关于TimePickerDialog Widget的内容就介绍到这里,欢迎大家在评论区交流与讨论!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

K8s集群调度,亲和性,污点,容忍,排障

目录 1.调度约束 调度过程 指定调度节点 查看详细事件 获取标签帮助 修改成 nodeSelector 调度方式 2.亲和性 节点亲和性 Pod 亲和性 键值运算关系 硬策略 软策略 Pod亲和性与反亲和性 创建一个标签为 appmyapp01 的 Pod 使用 Pod 亲和性调度,创建多…

Win11桌面出现的这个图标“了解此图片”怎么关闭?

🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉 在csdn获奖荣誉: 🏆csdn城市之星2名 ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ …

【OpenGL的着色器03】内置变量和函数(gl_Position等)

目录 一、说明 二、着色器的变量 2.1 着色器变量 2.2 着色器内置变量 三、最常见内置变量使用范例 3.1 常见着色器变量 3.2 示例1: gl_PointSize 3.3 示例2:gl_Position 3.4 gl_FragColor 3.5 渲染点片元坐标gl_PointCoord 3.6 gl_PointCoo…

LVS四层负载均衡集群

简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,终端互联网用户从外部访…

liunx操作系统 进程的基本概念

进程的基本概念 计算机结构体系冯诺依曼 操作系统的管理进程进程的特性标识符系统的调用 创建新的进程 进程的状态进程队列进程的状态在liunx查看进程状态、 进程优先级 计算机结构体系 冯诺依曼 在没有存储器之前,所有的信息都是直接进入CPU,这样效率很…

测试遍历1e5,1e8数组耗时

1e8大概0.38秒,即380ms 1e5耗时1ms左右: 代码使用方式来自:clock - C Reference (cplusplus.com)

第十三届蓝桥杯嵌入式省赛程序设计详细题解

第十三届蓝桥杯嵌入式省赛题目相对于第十二届较为简单,没有那么多串口的数据处理以及判断! 第十三届省赛主要是制作一个可由串口设置密码的密码锁。本实验中,我们将用到LED模块、按键模块、串口模块、定时器的PWM模块以及官方会提供源码的LC…

STM32CubeIDE基础学习-软件安装,环境搭建

STM32CubeIDE基础学习-软件介绍及环境搭建步骤 文章目录 STM32CubeIDE基础学习-软件介绍及环境搭建步骤前言第1章 STM32CubeIDE 介绍1.1 软件描述1.2 软件支持的功能及特点 第2章 STM32CubeIDE 软件安装2.1 STM32CubeIDE 软件获取方法2.2 STM32CubeIDE 软件安装步骤2.2.1 错误安…

YOLOv9独家原创改进|加入RT-DETR中的HGBlock!

专栏介绍:YOLOv9改进系列 | 包含深度学习最新创新,主力高效涨点!!! 一、改进点介绍 HGBlock是RT-DETR中使用的特征提取模块。 二、HGBlock模块详解 2.1 模块简介 HGBlock的主要思想: 一个并联的卷积模块与…

STM32(19)I2C模块 主机发数据

发送数据: 等待空闲: 发送起始位: 发送地址: 发送数据:

TypeScript学习笔记(上):TypeScript的介绍、安装及常用类型

我对TypeScript的理解就是,TypeScript是增加了类型校验的JavaScript,能够把运行期错误提升至编译期 TypeScript是什么? TypeScript(简称:TS)是 JavaScript 的超集(JS 有的 TS 都有&#xff09…

【牛客】VL65 状态机与时钟分频

描述 题目描述: 使用状态机实现时钟分频,要求对时钟进行四分频,占空比为0.25 信号示意图: clk为时钟 rst为低电平复位 clk_out 信号输出 Ps 本题题解是按照1000的状态转移进行的,不按照此状态进行,编译器…

实现一个网页版的简易猜数字游戏

实现一个网页版的简易猜数字游戏 效果 代码截图 相关代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><t…

3.6作业

作业要求&#xff1a;数据库操作的增、删、改 程序代码&#xff1a; #include<myhead.h> int main(int argc, const char *argv[]) {//定义数据库句柄指针sqlite3 * ppDb NULL;//打开数据库&#xff0c;如果数据库不存在&#xff0c;则创建数据库//将数据库句柄由参数…

【软件工程】软件工程定义、软件危机以及软件生命周期

&#x1f338;博主主页&#xff1a;釉色清风&#x1f338;文章专栏&#xff1a;软件工程&#x1f338; 今日语录&#xff1a;What matters isn’t how others think of your ambitions but how fervently you cling to them. 软件工程系列&#xff0c;主要根据老师上课所讲提及…

数字化转型导师坚鹏:金融科技咨询方法论

金融科技咨询方法论 ——方法、做法、演法、心法 课程背景&#xff1a; 数字化转型背景下&#xff0c;很多机构存在以下问题&#xff1a; 不知道先进的金融科技咨询方法论&#xff1f; 不知道如何运作金融科技咨询项目&#xff1f; 不知道如何汇报咨询项目关键成果&…

MyBatis3源码深度解析(三)Connnection

文章目录 前言2.3 Connnection2.3.1 JDBC驱动程序的类型2.3.1.1 JDBC-ODBC Bridge Driver2.3.1.2 Native API Driver2.3.1.3 HDBC-Net Driver2.3.1.4 Native Protocol Driver 2.3.2 java.sql.Driver2.3.2.1 静态代码块加载驱动类2.3.2.2 SPI机制加载驱动类 2.3.3 DriverManager…

使用RabbitMQ实现延时消息自动取消的简单案例

一、流程图 二、导包 <!--消息队列 AMQP依赖&#xff0c;包含RabbitMQ--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency> 三、配置文件 #消息队列 …

nodejs安装教程(及过程中的易错)

nodejs&#xff1a;Nodejs 是基于 Chrome 的 V8 引擎开发的一个 C 程序&#xff0c;目的是提供一个 JS 的运行环境。 npm&#xff1a;npm 是 Node Package Manager 的缩写&#xff0c;意思是 Node 的包管理系统&#xff0c;是最大的软件包仓库 下载nodejs 首先我们需要在node…

制作高端的电子杂志神器推荐

根据市场调查数据显示&#xff0c;越来越多的消费者开始青睐电子杂志这种阅读方式。相比传统纸质杂志&#xff0c;电子杂志具有更高的阅读体验、更便捷的分享和传播方式以及更环保的阅读方式。此外&#xff0c;越来越多的企业也开始重视电子杂志的宣传作用&#xff0c;将其作为…