HarmonyOS NEXT应用元服务开发控件状态变化场景
例如下图,播放暂停按钮对应着两种状态,在状态切换时需要实时变化对应的标注信息。
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 = trueplay() {// 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.isPlayingif (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