当前位置:   article > 正文

第九节HarmonyOS 常用基础组件12-TextTimer

第九节HarmonyOS 常用基础组件12-TextTimer

1、描述

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

2、接口

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

3、参数

参数名称

参数类型

必填

描述

isCountDown

boolean

是否倒计时。默认值:false

count

number

倒计时时间(isCountDown为true时生效),单位为毫秒。最长不超过86400000毫秒(24小时)。即count取值在0~86400000数值之间。默认值:6000(6s)

controller

TextTimerController

TextTimer控制器

4、属性

format – string – 自定义格式,至少需要包含一个HH、mm、ss、SS中的关键字。默认值:‘HH:mm:ss.SS’

5、事件

onTimer(event: (utc: number, elapsedTime: number) => void)- 时间文本发生变化时触发。(utc:linux时间戳,即自1970年1月1起经过的毫秒数。 elapsedTime: 计时器经过的时间,单位毫秒)

6、TextTimerController

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

导入对象

controller: TextTimerController = new TextTimerController()

start() – 计时开始

pause() – 计时暂停

reset() – 重置计时器

7、实例

  1. import router from '@ohos.router'
  2. @Entry
  3. @Component
  4. struct TextTimerPage {
  5. @State message: string = '通过文本显示计时信息并控制其计时器状态的组件。'
  6. @State onTimerContent: string = ''
  7. // TextTimer的控制器
  8. private controller: TextTimerController = new TextTimerController()
  9. build() {
  10. Row() {
  11. Scroll() {
  12. Column() {
  13. Text(this.message)
  14. .fontSize(20)
  15. .fontWeight(FontWeight.Bold)
  16. .width('96%')
  17. Blank(12)
  18. TextTimer({ isCountDown: true, count: 120000, controller: this.controller })
  19. .fontSize(20)
  20. .fontColor(Color.Red)
  21. .format('mm:ss')
  22. .onTimer((utc: number, elapsedTime: number) => { // utc 时间戳, elapsedTime计时器经过的时间
  23. this.onTimerContent = 'textTimer 时间戳 utc is:' + utc + ', 计时器经过的时间 elapsedTime: ' + elapsedTime;
  24. })
  25. Blank(12)
  26. Row() {
  27. Button('计时器启动').width('30%').onClick(() => {
  28. this.controller.start();
  29. })
  30. Button('计时器暂停').width('30%').margin({ left: '2.5%', right: '2.5%' }).onClick(() => {
  31. this.controller.pause();
  32. })
  33. Button('计时器重置').width('30%').onClick(() => {
  34. this.controller.reset();
  35. })
  36. }
  37. .alignItems(VerticalAlign.Center)
  38. Blank(12)
  39. Text(this.onTimerContent).width('96%').fontSize(20).fontColor(Color.Red)
  40. Blank(12)
  41. Button("文本文档")
  42. .fontSize(20)
  43. .backgroundColor('#007DFF')
  44. .width('96%')
  45. .onClick(() => {
  46. // 处理点击事件逻辑
  47. router.pushUrl({
  48. url: "pages/baseComponent/textTimer/TextTimerDesc",
  49. })
  50. })
  51. }
  52. .width('100%')
  53. }
  54. }
  55. .padding({ top: 12, bottom: 12 })
  56. }
  57. }

8、效果图

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号