0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

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

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

導(dǎo)入模塊

import mediaquery from '@ohos.mediaquery'

mediaquery.matchMediaSync

matchMediaSync(condition: string): MediaQueryListener

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

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

參數(shù):

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

返回值:

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

示例:

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

MediaQueryListener

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

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

屬性

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

on

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

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

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

參數(shù):

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

示例:

詳見off示例。

off

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

通過句柄向?qū)?yīng)的查詢條件取消注冊回調(diào),當(dāng)媒體屬性發(fā)生變更時不在觸發(fā)指定的回調(diào)。

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

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

示例:

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) // 注冊回調(diào)
  listener.off('change', onPortrait) // 取消注冊回調(diào)

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

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

    關(guān)注

    0

    文章

    206

    瀏覽量

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

    關(guān)注

    59

    文章

    2535

    瀏覽量

    43810
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    鴻蒙5開發(fā)寶藏案例分享---點擊響應(yīng)時延分析

    鴻蒙寶藏大發(fā)現(xiàn)!官方隱藏的實戰(zhàn)案例,開發(fā)效率直接翻倍 ? 大家好呀!最近在折騰鴻蒙開發(fā)時,意外挖到了華為官方的 案例寶藏庫 !原來HarmonyOS文檔里藏了近百個場景化案例,覆蓋了布
    發(fā)表于 06-12 17:01

    鴻蒙5開發(fā)寶藏案例分享---應(yīng)用架構(gòu)實戰(zhàn)技巧

    鴻蒙應(yīng)用架構(gòu)實戰(zhàn):分層設(shè)計與線程通信詳解 大家好! 今天咱們聊聊鴻蒙開發(fā)中那些“官方文檔提了但實際開發(fā)難找”的架構(gòu)設(shè)計技巧。結(jié)合官方文檔(鏈接1、鏈接2),我會用 真實代碼案例+通俗講
    發(fā)表于 06-12 16:14

    鴻蒙5開發(fā)寶藏案例分享---自由流轉(zhuǎn)的拖拽多屏聯(lián)動

    ?【干貨預(yù)警】鴻蒙開發(fā)寶藏案例大揭秘!手把手教你玩轉(zhuǎn)常用功能**?** 大家好呀~我是你們的老朋友[你的名字],今天在扒拉鴻蒙文檔的時候,突然發(fā)現(xiàn)官方竟然藏了一堆超實用的開發(fā)案例!?*
    發(fā)表于 06-03 18:50

    鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(地圖導(dǎo)航)

    \')) Text(item.desc) .fontSize($r(\'app.float.list_desc_font_size\')) } }) 配合資源文件實現(xiàn)多端尺寸自適應(yīng),再也不用手動寫媒體查詢
    發(fā)表于 06-03 16:17

    鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(旅行訂票)

    ? 鴻蒙開發(fā)寶藏大發(fā)現(xiàn)!一多開發(fā)實戰(zhàn)案例解析(旅行訂票篇) 大家好!今天在翻鴻蒙開發(fā)者文檔時,意外發(fā)現(xiàn)了官方藏著一整片\"案例綠洲\"!尤其
    發(fā)表于 06-03 16:16

    鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(購物比價)

    彈窗 } ? 二、開發(fā)避坑指南(血淚經(jīng)驗) 在復(fù)現(xiàn)官方案例時,這幾個重點要拿小本本記好: 布局三大心法 柵格系統(tǒng):用%替代固定px 斷點監(jiān)聽:@ohos.mediaquery神器 權(quán)重布局
    發(fā)表于 06-03 16:07

    基于RV1126開發(fā)板實現(xiàn)簡單的UI開發(fā)示例

    本方案為最簡單的UI開發(fā)示例,已為用戶初步構(gòu)建一個基本的應(yīng)用工程;準(zhǔn)備好我司的easyeai-api鏈接調(diào)用;準(zhǔn)備好UI開發(fā)環(huán)境。其目的在于方便用戶馬上進(jìn)行帶有
    的頭像 發(fā)表于 04-18 16:07 ?433次閱讀
    基于RV1126<b class='flag-5'>開發(fā)</b>板實現(xiàn)簡單的<b class='flag-5'>UI</b><b class='flag-5'>開發(fā)</b>示例

    OBOO鷗柏觸摸屏一體查詢機(jī)結(jié)合AI人工智能DeepSeek應(yīng)用開發(fā)文檔

    隨著科技的飛速發(fā)展,AI智能技術(shù)已經(jīng)廣泛應(yīng)用于各行各業(yè)。OBOO鷗柏作為專注室內(nèi)室外網(wǎng)絡(luò)廣告屏,觸摸屏一體查詢機(jī)高端品牌定位,鷗柏觸摸屏查詢終端機(jī)作為現(xiàn)代信息查詢的重要人機(jī)交互工具,與AI智能
    的頭像 發(fā)表于 03-04 11:48 ?307次閱讀
    OBOO鷗柏觸摸屏一<b class='flag-5'>體查詢</b>機(jī)結(jié)合AI人工智能DeepSeek應(yīng)用<b class='flag-5'>開發(fā)</b>文檔

    第二篇 RA8889 實現(xiàn)酷炫車載液晶儀表系列視頻: UI界面介紹

    本系列文章介紹 RA8889 實現(xiàn)液晶儀表HMI UI界面,分為兩大部分來介紹,本期介紹如何制作UI界面,其中包括使用PS軟件制作靜態(tài)類UI
    的頭像 發(fā)表于 02-25 15:27 ?404次閱讀
    第二篇 RA8889 實現(xiàn)酷炫車載液晶儀表系列視頻: <b class='flag-5'>UI</b>類<b class='flag-5'>界面</b>介紹

    鴻蒙Flutter實戰(zhàn):14-現(xiàn)有Flutter 項目支持鴻蒙 II

    ,職責(zé)分離,平臺抽象,不同平臺組合打包,有效解決平臺不一致問題 參考資料 鴻蒙Flutter實戰(zhàn):01-搭建開發(fā)環(huán)境 鴻蒙Flutter實戰(zhàn):09-現(xiàn)有Flutter項目支持鴻蒙 Fl
    發(fā)表于 12-26 14:59

    鴻蒙Flutter實戰(zhàn):07混合開發(fā)

    # 鴻蒙Flutter實戰(zhàn):混合開發(fā) 鴻蒙Flutter混合開發(fā)主要有兩種形式。 ## 1.基于har 將flutter module打包成har包,在原生
    發(fā)表于 10-23 16:00

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

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

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

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

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

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

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

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

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品