[文章]HarmonyOS NEXT应用元服务开发控件状态变化场景

阅读量0
0
0

例如下图,播放暂停按钮对应着两种状态,在状态切换时需要实时变化对应的标注信息。

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

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友