0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開(kāi)發(fā)接口UI界面:【@ohos.mediaquery (媒體查詢(xún))】

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-27 21:50 ? 次閱讀

媒體查詢(xún)

說(shuō)明: 從API Version 7開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。** **:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

導(dǎo)入模塊

import mediaquery from '@ohos.mediaquery'

權(quán)限

無(wú)

mediaquery.matchMediaSync

matchMediaSync(condition: string): MediaQueryListener

設(shè)置媒體查詢(xún)的查詢(xún)條件,并返回對(duì)應(yīng)的監(jiān)聽(tīng)句柄。

系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full

參數(shù)

參數(shù)名類(lèi)型必填說(shuō)明
conditionstring媒體事件的匹配條件,具體可參考[媒體查詢(xún)語(yǔ)法規(guī)則]。

返回值:

類(lèi)型說(shuō)明
MediaQueryListener媒體事件監(jiān)聽(tīng)句柄,用于注冊(cè)和去注冊(cè)監(jiān)聽(tīng)回調(diào)。

示例:

let listener = mediaquery.matchMediaSync('(orientation: landscape)'); //監(jiān)聽(tīng)橫屏事件

MediaQueryListener

媒體查詢(xún)的句柄,并包含了申請(qǐng)句柄時(shí)的首次查詢(xún)結(jié)果。

系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full

屬性

名稱(chēng)參數(shù)類(lèi)型可讀可寫(xiě)說(shuō)明
matchesboolean是否符合匹配條件。
mediastring媒體事件的匹配條件。

on

on(type: 'change', callback: Callback): void

通過(guò)句柄向?qū)?yīng)的查詢(xún)條件注冊(cè)回調(diào),當(dāng)媒體屬性發(fā)生變更時(shí)會(huì)觸發(fā)該回調(diào)。

系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
typestring必須填寫(xiě)字符串'change'。
callbackCallback向媒體查詢(xún)注冊(cè)的回調(diào)

off

off(type: 'change', callback?: Callback): void

通過(guò)句柄向?qū)?yīng)的查詢(xún)條件去注冊(cè)回調(diào),當(dāng)媒體屬性發(fā)生變更時(shí)不在觸發(fā)指定的回調(diào)。

系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
typeboolean必須填寫(xiě)字符串'change'。
callbackCallback需要去注冊(cè)的回調(diào),如果參數(shù)缺省則去注冊(cè)該句柄下所有的回調(diào)。

示例:

import mediaquery from '@ohos.mediaquery'
  
  let listener = mediaquery.matchMediaSync('(orientation: landscape)'); //監(jiān)聽(tīng)橫屏事件
  function onPortrait(mediaQueryResult) {
      if (mediaQueryResult.matches) {
          // do something here
      } else {
          // do something here
      }
  }
  listener.on('change', onPortrait) // 注冊(cè)回調(diào)
  listener.off('change', onPortrait) // 去注冊(cè)回調(diào)

MediaQueryResult

屬性

名稱(chēng)參數(shù)類(lèi)型可讀可寫(xiě)說(shuō)明
matchesboolean是否符合匹配條件。
mediastring媒體事件的匹配條件。HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

搜狗高速瀏覽器截圖20240326151450.png

示例

import mediaquery from '@ohos.mediaquery'

let portraitFunc = null

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

  onPortrait(mediaQueryResult) {
    if (mediaQueryResult.matches) {
      this.color = '#FFD700'
      this.text = 'Landscape'
    } else {
      this.color = '#DB7093'
      this.text = 'Portrait'
    }
  }

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

  build() {
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
      Text(this.text).fontSize(24).fontColor(this.color)
    }
    .width('100%').height('100%')
  }
}

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8447

    瀏覽量

    150724
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2302

    瀏覽量

    42689
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于ArkTS語(yǔ)言的OpenHarmony APP應(yīng)用開(kāi)發(fā):多媒體管理2

    /components/pages/MainPage.ets文件中,首先設(shè)置媒體查詢(xún)查詢(xún)條件。 listenerIsPhone = mediaQuery.matchMediaSync(\'(orientation
    發(fā)表于 09-20 13:47

    基于ArkTS語(yǔ)言的OpenHarmony APP應(yīng)用開(kāi)發(fā):圖片處理

    、mediaquery ohos.mediaquery提供媒體查詢(xún),提供根據(jù)不同媒體類(lèi)型定義不同的樣式。 2.2.1、導(dǎo)入模塊 import med
    發(fā)表于 09-19 14:23

    鴻蒙語(yǔ)言基礎(chǔ)類(lèi)庫(kù):system.mediaquery 媒體查詢(xún)

    根據(jù)媒體查詢(xún)條件,創(chuàng)建MediaQueryList對(duì)象。
    的頭像 發(fā)表于 07-17 16:50 ?272次閱讀
    <b class='flag-5'>鴻蒙</b>語(yǔ)言基礎(chǔ)類(lèi)庫(kù):system.<b class='flag-5'>mediaquery</b>  <b class='flag-5'>媒體查詢(xún)</b>

    鴻蒙開(kāi)發(fā)接口媒體:【@ohos.multimedia.media (媒體服務(wù))】

    媒體子系統(tǒng)為開(kāi)發(fā)者提供一套簡(jiǎn)單且易于理解的接口,使得開(kāi)發(fā)者能夠方便接入系統(tǒng)并使用系統(tǒng)的媒體資源。
    的頭像 發(fā)表于 06-06 11:03 ?694次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>媒體</b>:【@<b class='flag-5'>ohos</b>.multimedia.media (<b class='flag-5'>媒體</b>服務(wù))】

    鴻蒙開(kāi)發(fā)接口媒體:【@ohos.multimedia.image (圖片處理)】

    本模塊首批接口從API version 6開(kāi)始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
    的頭像 發(fā)表于 05-31 16:58 ?1347次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>媒體</b>:【@<b class='flag-5'>ohos</b>.multimedia.image (圖片處理)】

    鴻蒙開(kāi)發(fā)接口媒體:【@ohos.multimedia.camera (相機(jī)管理)】

    本模塊首批接口從API version 9開(kāi)始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
    的頭像 發(fā)表于 05-31 09:42 ?1412次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>媒體</b>:【@<b class='flag-5'>ohos</b>.multimedia.camera (相機(jī)管理)】

    鴻蒙開(kāi)發(fā)接口UI界面:【@ohos.router (頁(yè)面路由)】

    本模塊首批接口從API version 8開(kāi)始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。 > - 頁(yè)面路由需要在頁(yè)面渲染完成之后才能調(diào)用,在onInit和onReady生命周期中頁(yè)面還處于渲染階段,禁止調(diào)用頁(yè)
    的頭像 發(fā)表于 05-28 16:26 ?800次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>UI</b><b class='flag-5'>界面</b>:【@<b class='flag-5'>ohos</b>.router (頁(yè)面路由)】

    鴻蒙開(kāi)發(fā)接口UI界面:【@ohos.prompt (彈窗)】

    本模塊首批接口從API version 8開(kāi)始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
    的頭像 發(fā)表于 05-28 09:35 ?1056次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>UI</b><b class='flag-5'>界面</b>:【@<b class='flag-5'>ohos</b>.prompt (彈窗)】

    鴻蒙開(kāi)發(fā)接口UI界面:【@ohos.animator (動(dòng)畫(huà))】

    本模塊首批接口從API version 6開(kāi)始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
    的頭像 發(fā)表于 05-27 16:46 ?526次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>UI</b><b class='flag-5'>界面</b>:【@<b class='flag-5'>ohos</b>.animator (動(dòng)畫(huà))】

    鴻蒙實(shí)戰(zhàn)項(xiàng)目開(kāi)發(fā):【短信服務(wù)】

    、OpenHarmony 多媒體技術(shù)、Napi組件、OpenHarmony內(nèi)核、Harmony南向開(kāi)發(fā)鴻蒙項(xiàng)目實(shí)戰(zhàn)等等)鴻蒙(Harmony NEXT) 技術(shù)知識(shí)點(diǎn) 如果你是一名An
    發(fā)表于 03-03 21:29

    鴻蒙UI界面——@ohos.measure (文本計(jì)算)

    導(dǎo)入模塊 ? import measure from '@ohos.measure' ? measure.measureText measureText(options
    的頭像 發(fā)表于 02-22 17:02 ?655次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>UI</b><b class='flag-5'>界面</b>——@<b class='flag-5'>ohos</b>.measure (文本計(jì)算)

    鴻蒙開(kāi)發(fā)UI界面——@ohos.mediaquery (媒體查詢(xún))

    導(dǎo)入模塊 ? import mediaquery from '@ohos.mediaquery' ? mediaquery.matchMediaSync matchMediaSync
    的頭像 發(fā)表于 02-22 16:46 ?713次閱讀

    鴻蒙開(kāi)發(fā)UI界面——@ohos.font (注冊(cè)自定義字體)

    導(dǎo)入模塊 ? import font from '@ohos.font' ? font.registerFont registerFont(options: FontOptions): void 在
    的頭像 發(fā)表于 02-22 16:22 ?662次閱讀

    鴻蒙之@ohos.bundle.defaultAppManager (默認(rèn)應(yīng)用管理)

    本模塊提供查詢(xún)默認(rèn)應(yīng)用的能力,支持查詢(xún)當(dāng)前應(yīng)用是否是默認(rèn)應(yīng)用。 說(shuō)明 本模塊首批接口從API version 9開(kāi)始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記
    的頭像 發(fā)表于 02-20 17:29 ?454次閱讀
    <b class='flag-5'>鴻蒙</b>之@<b class='flag-5'>ohos</b>.bundle.defaultAppManager (默認(rèn)應(yīng)用管理)

    鴻蒙開(kāi)發(fā)-ArkUI框架實(shí)戰(zhàn)【日歷應(yīng)用 】

    屏切換來(lái)修改應(yīng)用的樣式。 首先導(dǎo)入媒體查詢(xún)模塊 import mediaquery from \'@ohos.mediaquery\' 然后通過(guò)matchMediaSync接口設(shè)置
    發(fā)表于 01-17 21:37