TextTimer
The <TextTimer> component displays timing information and is controlled in text format.
NOTE
This component is supported since API version 8. Updates will be marked with a superscript to indicate their earliest API version.
Child Components
Not supported
APIs
TextTimer(options?: TextTimerOptions)
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | TextTimerOptions | No | Parameters of the <TextTimer> component. |
TextTimerOptions
Name | Type | Mandatory | Description |
---|---|---|---|
isCountDown | boolean | No | Whether to count down. Default value: false |
count | number | No | Countdown time, in milliseconds. This parameter is valid only when isCountDown is set to true. The maximum value is 86400000 ms (24 hours). In the case of 0 < Value of count < 86400000, the value of count is used as the initial countdown value. In other cases, the default value is used as the initial countdown value. Default value: 60000 |
controller | TextTimerController | No | <TextTimer> controller. |
Attributes
Among the universal attributes and universal text attributes, fontColor, fontSize, fontStyle, fontWeight, and fontFamily are supported. In addition, the following attributes are supported.
Name | Type | Description |
---|---|---|
format | string | Custom format. The value must contain at least one of the following keywords: HH, mm, ss, and SS. If the specified date format is yy, MM, or dd, the default value is used instead. Default value: 'HH:mm:ss.SS' |
Events
Name | Description |
---|---|
onTimer(event: (utc: number, elapsedTime: number) => void) | Triggered when the time text changes. utc: Linux timestamp, which is the amount of time that has elapsed since January 1, 1970, in the minimum unit of the format. elapsedTime: elapsed time of the timer, in the minimum unit of the format. NOTE This event is not triggered when the screen is locked or the application is running in the background. |
TextTimerController
Implements the controller for controlling the <TextTimer> component. A <TextTimer> component can be bound to only one controller.
Objects to Import
textTimerController: TextTimerController = new TextTimerController()
start
start()
Starts the timer.
pause
pause()
Pauses the timer.
reset
reset()
Resets the timer.
Example
// 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()
})
}
}
}
}