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