例如下图,播放暂停按钮对应着两种状态,在状态切换时需要实时变化对应的标注信息。
import prompt from '@system.prompt'
const RESOURCE_STR_PLAY = $r('app.media.play')
const RESOURCE_STR_PAUSE = $r('app.media.pause')
@Component
export struct Rule_2_1_12 {
title: string = 'Rule 2.1.12'
@State isPlaying: boolean = true
play() {
// play audio file
}
pause() {
// pause playing of audio file
}
build() {
NavDestination() {
Column() {
Flex({
direction: FlexDirection.Column,
alignItems: ItemAlign.Center,
justifyContent: FlexAlign.Center,
}) {
Row() {
Image(this.isPlaying ? RESOURCE_STR_PAUSE : RESOURCE_STR_PLAY)
.width(50)
.height(50)
.onClick(() => {
prompt.showToast({
message :this.isPlaying ? "Play" : "Pause"
})
this.isPlaying = !this.isPlaying
if (this.isPlaying) {
this.play()
} else {
this.pause()
}
})
.accessibilityText(this.isPlaying ? 'Pause' : 'Play') // 设置可访问性框架的注释信息
}
}
.width('100%')
.height('100%')
.backgroundColor(Color.White)
}
}.title(this.title)
}
}
本文主要引用官方文档材料基API 12 Release