• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# TextTimer
2
3通过文本显示计时信息并控制其计时器状态的组件。
4
5>  **说明:**
6>
7> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
8
9## 子组件
10
1112
13## 接口
14
15TextTimer(options?: TextTimerOptions)
16
17**参数:**
18
19| 参数名 | 参数类型 | 必填 | 参数描述 |
20| -------- | -------- | -------- | -------- |
21| options |  [TextTimerOptions](#texttimeroptions对象说明)| 否 | 通过文本显示计时信息并控制其计时器状态的组件参数。 |
22
23## TextTimerOptions对象说明
24
25| 参数名     | 参数类型     | 必填  | 参数描述                   |
26| ----------- | -------- | -------- | -------- |
27| isCountDown | boolean  | 否   | 是否倒计时。<br/>默认值:false |
28| count       | number   | 否   | 倒计时时间(isCountDown为true时生效),单位为毫秒。最长不超过86400000毫秒(24小时)。&nbsp;0&lt;count&lt;86400000时,count值为倒计时初始值。否则,使用默认值为倒计时初始值。<br/>默认值:60000 |
29| controller  | [TextTimerController](#texttimercontroller) | 否  | TextTimer控制器。 |
30
31## 属性
32
33除支持[通用属性](ts-universal-attributes-size.md)和[文本通用属性](ts-universal-attributes-text-style.md)的fontColor、fontSize、fontStyle、fontWeight、fontFamily外,还支持以下属性:
34
35| 名称        | 参数类型       | 描述                             |
36| -------- | ---------------------- | ---------------------- |
37| format   | string   | 自定义格式,需至少包含一个HH、mm、ss、SS中的关键字。如使用yy、MM、dd等日期格式,则使用默认值。<br/>默认值:'HH:mm:ss.SS' |
38
39## 事件
40
41| 名称                                       | 功能描述                                     |
42| ---------------------------------------- | ---------------------------------------- |
43| onTimer(event:&nbsp;(utc:&nbsp;number,&nbsp;elapsedTime:&nbsp;number)&nbsp;=&gt;&nbsp;void) | 时间文本发生变化时触发。<br/>utc:Linux时间戳,即自1970年1月1日起经过的时间,单位为设置格式的最小单位。<br/>elapsedTime:计时器经过的时间,单位为设置格式的最小单位。 <br/> **说明:** <br/>锁屏状态和应用后台状态下不会触发该事件。|
44
45## TextTimerController
46
47TextTimer组件的控制器,用于控制文本计时器。一个TextTimer组件仅支持绑定一个控制器。
48
49### 导入对象
50
51```
52textTimerController: TextTimerController = new TextTimerController()
53
54```
55
56### start
57
58start()
59
60计时开始。
61
62### pause
63
64pause()
65
66计时暂停。
67
68### reset
69
70reset()
71
72重置计时器。
73
74## 示例
75
76```ts
77// xxx.ets
78@Entry
79@Component
80struct TextTimerExample {
81  textTimerController: TextTimerController = new TextTimerController()
82  @State format: string = 'mm:ss.SS'
83
84  build() {
85    Column() {
86      TextTimer({ isCountDown: true, count: 30000, controller: this.textTimerController })
87        .format(this.format)
88        .fontColor(Color.Black)
89        .fontSize(50)
90        .onTimer((utc: number, elapsedTime: number) => {
91          console.info('textTimer notCountDown utc is:' + utc + ', elapsedTime: ' + elapsedTime)
92        })
93      Row() {
94        Button("start").onClick(() => {
95          this.textTimerController.start()
96        })
97        Button("pause").onClick(() => {
98          this.textTimerController.pause()
99        })
100        Button("reset").onClick(() => {
101          this.textTimerController.reset()
102        })
103      }
104    }
105  }
106}
107```
108
109
110![zh-cn_image_0000001251007721](figures/zh-cn_image_0000001251007721.gif)
111