js-apis-system-mediaquery.md 3.4 KB
Newer Older
Z
zengyawen 已提交
1 2
# 媒体查询

T
explain  
tianyu 已提交
3 4
提供根据不同媒体类型定义不同的样式。

Z
zengyawen 已提交
5 6

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
H
HelloCrease 已提交
7
>
Z
zengyawen 已提交
8
> - 从API Version 7 开始,该接口不再维护,推荐使用新接口[`@ohos.mediaquery`](js-apis-mediaquery.md)。
H
HelloCrease 已提交
9
> - 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
10 11 12 13 14 15 16 17 18 19 20 21


## 导入模块


```
import mediaquery from '@system.mediaquery';
```


## mediaquery.matchMedia

22
matchMedia(condition: string): MediaQueryList
Z
zengyawen 已提交
23 24 25 26 27 28 29

根据媒体查询条件,创建MediaQueryList对象。

**系统能力:** SystemCapability.ArkUI.ArkUI.Full

**参数:** 

H
HelloCrease 已提交
30 31 32
| 参数名       | 类型     | 必填   | 说明       |
| --------- | ------ | ---- | -------- |
| condition | string | 是    | 用于查询的条件。 |
Z
zengyawen 已提交
33 34 35

**返回值:**

H
HelloCrease 已提交
36 37
| 参数类型           | 说明                                       |
| -------------- | ---------------------------------------- |
38
| MediaQueryList | 表示创建MediaQueryList对象的属性,详情见下表 MediaQueryList说明。 |
Z
zengyawen 已提交
39 40 41 42 43 44 45 46 47 48 49

**示例:**

```
export default {    
  matchMedia() {        
    var mMediaQueryList = mediaquery.matchMedia('(max-width: 466)');    
  },
}
```

50
## MediaQueryEvent
Z
zengyawen 已提交
51

52
定义MediaQuery事件。
Z
zengyawen 已提交
53

54 55
**系统能力:** SystemCapability.ArkUI.ArkUI.Full

H
HelloCrease 已提交
56 57 58
| 名称      | 参数类型    | 必填   | 说明    |
| ------- | ------- | ---- | ----- |
| matches | boolean | 是    | 匹配结果。 |
59 60

## MediaQueryList
Z
zengyawen 已提交
61

62 63 64 65 66 67
定义MediaQuery列表信息。

### 属性

**系统能力:** 以下各项对应的系统能力均为SystemCapability.ArkUI.ArkUI.Full

H
HelloCrease 已提交
68 69 70 71
| 名称      | 参数类型    | 必填   | 说明                |
| ------- | ------- | ---- | ----------------- |
| media   | string  | 否    | 序列化媒体查询条件,该参数为只读。 |
| matches | boolean | 是    | 匹配结果。             |
Z
zengyawen 已提交
72

73 74 75 76 77 78 79 80 81 82
### onchange

onchange?: (matches: boolean) => void

matches状态变化时的执行函数。

**系统能力:** SystemCapability.ArkUI.ArkUI.Full

**参数:**

H
HelloCrease 已提交
83 84 85
| 参数名     | 类型      | 必填   | 说明             |
| ------- | ------- | ---- | -------------- |
| matches | boolean | 是    | matches状态变化时值。 |
86 87 88 89 90


### MediaQueryList.addListener

addListener(callback: (event: MediaQueryEvent) => void): void
Z
zengyawen 已提交
91 92 93 94 95 96 97

给MediaQueryList添加回调函数,回调函数应在onShow生命周期之前添加,即需要在onInit或onReady生命周期里添加。

**系统能力:** SystemCapability.ArkUI.ArkUI.Full

**参数:**

H
HelloCrease 已提交
98 99 100
| 参数名      | 类型                               | 必填   | 说明             |
| -------- | -------------------------------- | ---- | -------------- |
| callback | (event: MediaQueryEvent) => void | 是    | 匹配条件发生变化的响应函数。 |
Z
zengyawen 已提交
101 102 103 104

**示例:**

```
105
mMediaQueryList.addListener(maxWidthMatch);
Z
zengyawen 已提交
106 107 108
```


109
### MediaQueryList.removeListener
Z
zengyawen 已提交
110

111
removeListener(callback: (event: MediaQueryEvent) => void): void
Z
zengyawen 已提交
112 113 114 115 116 117 118

移除MediaQueryList中的回调函数。

**系统能力:** SystemCapability.ArkUI.ArkUI.Full

**参数:**

H
HelloCrease 已提交
119 120 121
| 参数名      | 类型                                | 必填   | 说明             |
| -------- | --------------------------------- | ---- | -------------- |
| callback | (event: MediaQueryEvent) => void) | 是    | 匹配条件发生变化的响应函数。 |
122 123

**示例:**
Z
zengyawen 已提交
124 125

```
126 127 128 129 130
mMediaQueryList.removeListener(maxWidthMatch);
```