導(dǎo)入模塊
import mediaquery from '@ohos.mediaquery'
mediaquery.matchMediaSync
matchMediaSync(condition: string): MediaQueryListener
設(shè)置媒體查詢的查詢條件,并返回對(duì)應(yīng)的監(jiān)聽句柄。
系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
condition | string | 是 | 媒體事件的匹配條件,具體可參考語(yǔ)法規(guī)則。 |
返回值:
類型 | 說(shuō)明 |
---|---|
MediaQueryListener | 媒體事件監(jiān)聽句柄,用于注冊(cè)和去注冊(cè)監(jiān)聽回調(diào)。 |
示例:
let listener = mediaquery.matchMediaSync(‘(orientation: landscape)’); //監(jiān)聽橫屏事件
MediaQueryListener
媒體查詢的句柄,并包含了申請(qǐng)句柄時(shí)的首次查詢結(jié)果。
系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full
屬性
名稱 | 類型 | 可讀 | 可寫 | 說(shuō)明 |
---|---|---|---|---|
matches | boolean | 是 | 否 | 是否符合匹配條件。 |
media | string | 是 | 否 | 媒體事件的匹配條件。 |
on
on(type: ‘change’, callback: Callback): void
通過(guò)句柄向?qū)?yīng)的查詢條件注冊(cè)回調(diào),當(dāng)媒體屬性發(fā)生變更時(shí)會(huì)觸發(fā)該回調(diào)。
系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 必須填寫字符串’change’。 |
callback | Callback | 是 | 向媒體查詢注冊(cè)的回調(diào) |
示例:
詳見off示例。
off
off(type: ‘change’, callback?: Callback): void
通過(guò)句柄向?qū)?yīng)的查詢條件取消注冊(cè)回調(diào),當(dāng)媒體屬性發(fā)生變更時(shí)不在觸發(fā)指定的回調(diào)。
系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 必須填寫字符串’change’。 |
callback | Callback | 否 | 需要去注冊(cè)的回調(diào),如果參數(shù)缺省則去注冊(cè)該句柄下所有的回調(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) // 注冊(cè)回調(diào) listener.off('change', onPortrait) // 取消注冊(cè)回調(diào)
MediaQueryResult
用于執(zhí)行媒體查詢操作。
系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full
屬性
名稱 | 類型 | 可讀 | 可寫 | 說(shuō)明 |
---|---|---|---|---|
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
-
ui
+關(guān)注
關(guān)注
0文章
205瀏覽量
21433 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2397瀏覽量
43098
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
鴻蒙Flutter實(shí)戰(zhàn):14-現(xiàn)有Flutter 項(xiàng)目支持鴻蒙 II
基于ArkTS語(yǔ)言的OpenHarmony APP應(yīng)用開發(fā):多媒體管理2
基于ArkTS語(yǔ)言的OpenHarmony APP應(yīng)用開發(fā):圖片處理
基于鴻蒙Next模擬掃圖識(shí)物的一個(gè)過(guò)程
鴻蒙開發(fā)接口媒體:【@ohos.multimedia.media (媒體服務(wù))】
![<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>服務(wù))】](https://file1.elecfans.com//web2/M00/EA/B6/wKgZomZZyXWAMD_xAAAO4mErQko408.jpg)
鴻蒙開發(fā)接口UI界面:【@ohos.router (頁(yè)面路由)】
![<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 (頁(yè)面路由)】](https://file1.elecfans.com/web2/M00/E9/DA/wKgZomZVlgCAEm-IAABcFo_n5W4378.png)
鴻蒙開發(fā)接口UI界面:【@ohos.prompt (彈窗)】
![<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 (彈窗)】](https://file1.elecfans.com/web2/M00/E9/B9/wKgZomZVNNqADq_LAAByr1vJBH4229.png)
鴻蒙開發(fā)接口UI界面:【@ohos.mediaquery (媒體查詢)】
![<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>)】](https://file1.elecfans.com/web2/M00/C5/D1/wKgZomYChGOAUaiiAADe1d8SeRY102.jpg)
鴻蒙開發(fā)接口UI界面:【@ohos.animator (動(dòng)畫)】
![<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 (動(dòng)畫)】](https://file1.elecfans.com/web2/M00/C9/99/wKgaomYeL0WAZFDHAAACSiKnE8w930.jpg)
鴻蒙ArkUI:【從代碼到UI顯示的整體渲染流程】
![<b class='flag-5'>鴻蒙</b>ArkUI:【從代碼到<b class='flag-5'>UI</b>顯示的整體渲染流程】](https://file1.elecfans.com/web2/M00/E4/BB/wKgZomZAwc6AUHDyAAKcU8vh5hE226.png)
鴻蒙實(shí)戰(zhàn)項(xiàng)目開發(fā):【短信服務(wù)】
鴻蒙UI界面——@ohos.measure (文本計(jì)算)
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>UI</b><b class='flag-5'>界面</b>——@<b class='flag-5'>ohos</b>.measure (文本計(jì)算)](https://file1.elecfans.com/web2/M00/C1/8E/wKgaomXXDYuAT95DAAFreZuJy4o322.png)
鴻蒙開發(fā)UI界面——@ohos.font (注冊(cè)自定義字體)
鴻蒙之@ohos.bundle.defaultAppManager (默認(rèn)應(yīng)用管理)
![<b class='flag-5'>鴻蒙</b>之@<b class='flag-5'>ohos</b>.bundle.defaultAppManager (默認(rèn)應(yīng)用管理)](https://file1.elecfans.com/web2/M00/C1/45/wKgaomXUcHyAR0VFAAEEyDtXTVc445.png)
評(píng)論