1# @system.mediaquery (媒体查询) 2 3提供根据不同媒体类型定义不同的样式。 4 5 6> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** 7> 8> - 从API Version 7 开始,该接口不再维护,推荐使用新接口[`@ohos.mediaquery`](js-apis-mediaquery.md)。 9> - 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 10 11 12## 导入模块 13 14 15```ts 16import mediaquery from '@system.mediaquery'; 17``` 18 19 20## mediaquery.matchMedia 21 22matchMedia(condition: string): MediaQueryList 23 24根据媒体查询条件,创建MediaQueryList对象。 25 26**系统能力:** SystemCapability.ArkUI.ArkUI.Full 27 28**参数:** 29 30| 参数名 | 类型 | 必填 | 说明 | 31| --------- | ------ | ---- | -------- | 32| condition | string | 是 | 用于查询的条件。 | 33 34**返回值:** 35 36| 参数类型 | 说明 | 37| -------------- | ---------------------------------------- | 38| MediaQueryList | 表示创建MediaQueryList对象的属性,详情见下表 MediaQueryList说明。 | 39 40**示例:** 41 42```ts 43let mMediaQueryList = mediaquery.matchMedia('(max-width: 466)'); 44``` 45 46## MediaQueryEvent 47 48定义MediaQuery事件。 49 50**系统能力:** SystemCapability.ArkUI.ArkUI.Full 51 52| 名称 | 类型 | 必填 | 说明 | 53| ------- | ------- | ---- | ----- | 54| matches | boolean | 是 | 匹配结果。 | 55 56## MediaQueryList 57 58定义MediaQuery列表信息。 59 60### 属性 61 62**系统能力:** 以下各项对应的系统能力均为SystemCapability.ArkUI.ArkUI.Full 63 64| 名称 | 类型 | 必填 | 说明 | 65| ------- | ------- | ---- | ----------------- | 66| media | string | 否 | 序列化媒体查询条件,该参数为只读。 | 67| matches | boolean | 是 | 匹配结果。 | 68 69### onchange 70 71onchange?: (matches: boolean) => void 72 73matches状态变化时的执行函数。 74 75**系统能力:** SystemCapability.ArkUI.ArkUI.Full 76 77**参数:** 78 79| 参数名 | 类型 | 必填 | 说明 | 80| ------- | ------- | ---- | -------------- | 81| matches | boolean | 是 | matches状态变化时值。 | 82 83 84### MediaQueryList.addListener 85 86addListener(callback: (event: MediaQueryEvent) => void): void 87 88给MediaQueryList添加回调函数,回调函数应在onShow生命周期之前添加,即需要在onInit或onReady生命周期里添加。 89 90**系统能力:** SystemCapability.ArkUI.ArkUI.Full 91 92**参数:** 93 94| 参数名 | 类型 | 必填 | 说明 | 95| -------- | -------------------------------- | ---- | -------------- | 96| callback | (event: MediaQueryEvent) => void | 是 | 匹配条件发生变化的响应函数。 | 97 98**示例:** 99 100```ts 101function maxWidthMatch(e){ 102 if(e.matches){ 103 // do something 104 } 105} 106mMediaQueryList.addListener(maxWidthMatch); 107``` 108 109 110### MediaQueryList.removeListener 111 112removeListener(callback: (event: MediaQueryEvent) => void): void 113 114移除MediaQueryList中的回调函数。 115 116**系统能力:** SystemCapability.ArkUI.ArkUI.Full 117 118**参数:** 119 120| 参数名 | 类型 | 必填 | 说明 | 121| -------- | --------------------------------- | ---- | -------------- | 122| callback | (event: MediaQueryEvent) => void) | 是 | 匹配条件发生变化的响应函数。 | 123 124**示例:** 125 126```ts 127function maxWidthMatch(e){ 128 if(e.matches){ 129 // do something 130 } 131} 132mMediaQueryList.removeListener(maxWidthMatch); 133``` 134 135 136 137