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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

王程 ? 來源:jf_75796907 ? 作者:jf_75796907 ? 2024-02-22 16:46 ? 次閱讀

導入模塊

import mediaquery from '@ohos.mediaquery'

mediaquery.matchMediaSync

matchMediaSync(condition: string): MediaQueryListener

設置媒體查詢的查詢條件,并返回對應的監(jiān)聽句柄。

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

參數(shù)

參數(shù)名 類型 必填 說明
condition string 媒體事件的匹配條件,具體可參考語法規(guī)則。

返回值:

類型 說明
MediaQueryListener 媒體事件監(jiān)聽句柄,用于注冊和去注冊監(jiān)聽回調。

示例:

let listener = mediaquery.matchMediaSync(‘(orientation: landscape)’); //監(jiān)聽橫屏事件

MediaQueryListener

媒體查詢的句柄,并包含了申請句柄時的首次查詢結果。

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

屬性

名稱 類型 可讀 可寫 說明
matches boolean 是否符合匹配條件。
media string 媒體事件的匹配條件。

on

on(type: ‘change’, callback: Callback): void

通過句柄向對應的查詢條件注冊回調,當媒體屬性發(fā)生變更時會觸發(fā)該回調。

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

參數(shù):

參數(shù)名 類型 必填 說明
type string 必須填寫字符串’change’。
callback Callback 向媒體查詢注冊的回調

示例:

詳見off示例。

off

off(type: ‘change’, callback?: Callback): void

通過句柄向對應的查詢條件取消注冊回調,當媒體屬性發(fā)生變更時不在觸發(fā)指定的回調。

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

參數(shù)名 類型 必填 說明
type string 必須填寫字符串’change’。
callback Callback 需要去注冊的回調,如果參數(shù)缺省則去注冊該句柄下所有的回調。

示例:

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

MediaQueryResult

用于執(zhí)行媒體查詢操作。

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

屬性

名稱 類型 可讀 可寫 說明
matches boolean 是否符合匹配條件。
media string 媒體事件的匹配條件。

示例

import mediaquery from '@ohos.mediaquery'


@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() {
    let 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%')
  }
}


審核編輯 黃宇


HT

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ui
    ui
    +關注

    關注

    0

    文章

    202

    瀏覽量

    21290
  • 鴻蒙
    +關注

    關注

    56

    文章

    2267

    瀏覽量

    42489
收藏 人收藏

    評論

    相關推薦

    基于ArkTS語言的OpenHarmony APP應用開發(fā):多媒體管理2

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

    基于ArkTS語言的OpenHarmony APP應用開發(fā):圖片處理

    、mediaquery ohos.mediaquery提供媒體查詢,提供根據不同媒體類型定義不同的樣式。 2.2.1、導入模塊 import med
    發(fā)表于 09-19 14:23

    基于鴻蒙Next模擬掃圖識物的一個過程

    使用@State裝飾器定義了幾個響應式狀態(tài)變量,如scanHeight、isVisibility。這些變量的變化會自動觸發(fā)UI的更新。3.UI結構: 界面使用嵌套的Stack、Column和Row組件構建。主要
    發(fā)表于 08-21 15:04

    鴻蒙語言基礎類庫:system.mediaquery 媒體查詢

    根據媒體查詢條件,創(chuàng)建MediaQueryList對象。
    的頭像 發(fā)表于 07-17 16:50 ?213次閱讀
    <b class='flag-5'>鴻蒙</b>語言基礎類庫:system.<b class='flag-5'>mediaquery</b>  <b class='flag-5'>媒體查詢</b>

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

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

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

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

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

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

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

    后續(xù)版本如有新增內容,則采用上角標單獨標記該內容的起始版本。
    的頭像 發(fā)表于 05-27 21:50 ?165次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>接口<b class='flag-5'>UI</b><b class='flag-5'>界面</b>:【@<b class='flag-5'>ohos.mediaquery</b> (<b class='flag-5'>媒體查詢</b>)】

    鴻蒙開發(fā)接口UI界面:【@ohos.animator (動畫)】

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

    鴻蒙ArkUI:【從代碼到UI顯示的整體渲染流程】

    方舟開發(fā)框架(簡稱ArkUI)是鴻蒙開發(fā)UI框架,提供如下兩種開發(fā)范式,我們 **只學聲明式開發(fā)
    的頭像 發(fā)表于 05-13 16:06 ?594次閱讀
    <b class='flag-5'>鴻蒙</b>ArkUI:【從代碼到<b class='flag-5'>UI</b>顯示的整體渲染流程】

    鴻蒙實戰(zhàn)項目開發(fā):【短信服務】

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

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

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

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

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

    鴻蒙之@ohos.bundle.defaultAppManager (默認應用管理)

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

    鴻蒙開發(fā)-ArkUI框架實戰(zhàn)【日歷應用 】

    屏切換來修改應用的樣式。 首先導入媒體查詢模塊 import mediaquery from \'@ohos.mediaquery\' 然后通過matchMediaSync接口設置媒體查詢
    發(fā)表于 01-17 21:37