当前位置: 首页 > news >正文

【鸿蒙软件开发】ArkTS基础组件之TextTimer(文本显示计时)、TimePicker(时间选择)

文章目录

  • 前言
  • 一、TextTimer
    • 1.1 子组件
    • 1.2 接口
      • 参数
        • TextTimerController
    • 1.3 属性
    • 1.4 事件
    • 1.5 示例代码
  • 二、TimePicker
    • 2.1 子组件
    • 2.2 接口
      • 参数
    • 2.3 属性
    • 2.4 事件
      • TimePickerResult对象说明
    • 2.5 示例代码
  • 总结


前言

通过文本显示计时信息并控制其计时器状态的组件。
时间选择组件,根据指定参数创建选择器,支持选择小时及分钟。


一、TextTimer

通过文本显示计时信息并控制其计时器状态的组件。

说明
该组件从API Version 8开始支持。后续版本如有新增内容,则会更新新版博客。

1.1 子组件

1.2 接口

使用下面这个接口创建即可

TextTimer(options?: { isCountDown?: boolean, count?: number, controller?: TextTimerController })

在这里插入图片描述

参数

isCountDown
参数名: isCountDown
参数类型: boolean
参数描述: 是否倒计时。默认值为false。
是否必填:否

count
参数名: count
参数类型: number
参数描述: 倒计时时间(isCountDown为true时生效),单位为毫秒。最长不超过86400000毫秒(24小时)。当0 < count < 86400000时,count值为倒计时初始值。否则,使用默认值作为倒计时初始值。
默认值: 60000
是否必填:否

controller
参数名: controller
参数类型: TextTimerController
参数描述: TextTimer控制器。
是否必填:否

TextTimerController

TextTimer组件的控制器,用于控制文本计时器。一个TextTimer组件仅支持绑定一个控制器。

导入对象

textTimerController: TextTimerController = new TextTimerController()

在这里插入图片描述

使用下面这个函数即可打开计时器:

start()

使用下面这个函数即可暂停计时器:

pause()

使用下面这个函数即可重置计时器:

reset()

1.3 属性

属性名称:format 属性类型:string
自定义格式,需至少包含一个HH、mm、ss、SS中的关键字。如使用yy、MM、dd等日期格式,则使用默认值。
默认值:‘HH:mm:ss.SS’

1.4 事件

onTimer(event: (utc: number, elapsedTime: number) => void)	

在这里插入图片描述

时间文本发生变化时触发。
utc:Linux时间戳,即自1970年1月1日起经过的毫秒数。
elapsedTime:计时器经过的时间,单位为毫秒。

1.5 示例代码

// xxx.ets
@Entry
@Component
struct TextTimerExample {textTimerController: TextTimerController = new TextTimerController()@State format: string = 'mm:ss.SS'build() {Column() {TextTimer({ isCountDown: true, count: 30000, controller: this.textTimerController }).format(this.format).fontColor(Color.Black).fontSize(50).onTimer((utc: number, elapsedTime: number) => {console.info('textTimer notCountDown utc is:' + utc + ', elapsedTime: ' + elapsedTime)})Row() {Button("start").onClick(() => {this.textTimerController.start()})Button("pause").onClick(() => {this.textTimerController.pause()})Button("reset").onClick(() => {this.textTimerController.reset()})}}}
}

在这里插入图片描述

在这里插入图片描述

二、TimePicker

时间选择组件,根据指定参数创建选择器,支持选择小时及分钟。

说明
该组件从API Version 8开始支持。后续版本如有新增内容,则会更新新版博客。

2.1 子组件

2.2 接口

TimePicker(options?: {selected?: Date})

在这里插入图片描述

默认以24小时的时间区间创建滑动选择器。

参数

参数名称:selected
参数类型:Date
是否必填:否
参数描述:设置选中项的时间。
默认值:当前系统时间

2.3 属性

除支持通用属性外,还支持以下属性:
属性名称:useMilitaryTime
属性类型:boolean
属性描述:展示时间是否为24小时制,不支持动态修改。
默认值:false

2.4 事件

除支持通用事件外,还支持以下事件:

onChange(callback: (value: TimePickerResult ) => void)

在这里插入图片描述

选择时间时触发该事件。

TimePickerResult对象说明

TimePickerResult为24小时制时间。

参数名称:hour
参数类型:number
参数描述:选中时间的时。
取值范围:[0-23]

参数名称:minute
参数类型:number
参数描述:选中时间的分。
取值范围:[0-59]

2.5 示例代码

// xxx.ets
@Entry
@Component
struct TimePickerExample {@State isMilitaryTime: boolean = falseprivate selectedTime: Date = new Date('2022-07-22T08:00:00')build() {Column() {Button('切换12小时制/24小时制').margin({ top: 30, bottom: 30 }).onClick(() => {this.isMilitaryTime = !this.isMilitaryTime})TimePicker({selected: this.selectedTime,}).useMilitaryTime(this.isMilitaryTime).onChange((value: TimePickerResult) => {this.selectedTime.setHours(value.hour, value.minute)console.info('select current date is: ' + JSON.stringify(value))})}.width('100%')}
}

在这里插入图片描述

在这里插入图片描述


总结

通过文本显示计时信息并控制其计时器状态的组件。
时间选择组件,根据指定参数创建选择器,支持选择小时及分钟。

http://www.lryc.cn/news/211193.html

相关文章:

  • pytorch 笔记:KLDivLoss
  • 父子项目打包发布至私仓库
  • 汽车网络安全--ECU的安全更新
  • NLP之搭建RNN神经网络
  • Android问题笔记四十三:JNI 开发如何快速定位崩溃问题
  • 机器学习 | 决策树算法
  • javascript中各种风骚的代码
  • el-tree横向纵向滚动条
  • STM32G030F6P6 芯片实验 (一)
  • Wpf 使用 Prism 实战开发Day01
  • 6G关键新兴技术- 智能超表面(RIS)技术演进
  • 【redhat9.2】搭建Discuz-X3.5网站
  • 算法篇 : 并查集
  • AM@微积分基本定理@微积分第二基本定理
  • goland常用快捷键
  • CSDN写文章时常见问题及技巧
  • JVM虚拟机详解
  • Go 怎么操作 OSS 阿里云对象存储
  • vue3 Suspense组件
  • NlogPrismWPF
  • 文件上传漏洞(2), 文件上传实战绕过思路, 基础篇
  • 论文阅读 - Hidden messages: mapping nations’ media campaigns
  • [AutoSAR系列] 1.3 AutoSar 架构
  • 迁移学习 - 微调
  • 09 用户态跟踪:如何使用eBPF排查应用程序?
  • 深入浅出排序算法之堆排序
  • Linux 命令(11)—— tcpdump
  • 8.自定义组件布局和详解Context上下文
  • 几个Web自动化测试框架的比较:Cypress、Selenium和Playwright
  • Android Studio中配置aliyun maven库