• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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