[文章]HarmonyOS应用开发-eTS-媒体查询

阅读量0
1
0

说明
从 API Version 7 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
mediaquery.matchMediaSync
matchMediaSync(condition: string): MediaQueryListener
设置媒体查询的查询条件,并返回对应的监听句柄。



示例代码
  1. import mediaquery from '@ohos.mediaquery'

  2. let portraitFunc = null

  3. @Entry
  4. @Component
  5. struct MediaQueryExample {
  6.   @State color: string = '#DB7093'
  7.   @State text: string = 'Portrait'
  8.   listener = mediaquery.matchMediaSync('(orientation: landscape)')

  9.   onPortrait(mediaQueryResult) {
  10.     if (mediaQueryResult.matches) {
  11.       this.color = '#FFD700'
  12.       this.text = 'Landscape'
  13.     } else {
  14.       this.color = '#DB7093'
  15.       this.text = 'Portrait'
  16.     }
  17.   }

  18.   aboutToAppear() {
  19.     portraitFunc = this.onPortrait.bind(this) //bind current js instance
  20.     this.listener.on('change', portraitFunc)
  21.   }

  22.   build() {
  23.     Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
  24.       Text(this.text).fontSize(24).fontColor(this.color)
  25.     }
  26.     .width('100%').height('100%')
  27.   }
  28. }
复制代码
示例效果:

附件:

回帖

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