js-apis-display.md 7.4 KB
Newer Older
1
# 屏幕属性
2
屏幕属性提供管理显示设备的一些基础能力,包括获取默认显示设备的信息,获取所有显示设备的信息以及监听显示设备的插拔行为。
Z
zengyawen 已提交
3

G
ge-yafang 已提交
4
> **说明:**
5
>
6
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
7 8

## 导入模块
Z
zengyawen 已提交
9

10
```js
Z
zengyawen 已提交
11 12 13
import display from '@ohos.display';
```

Z
zengyawen 已提交
14 15

## DisplayState
Z
zengyawen 已提交
16

张必荣 已提交
17
显示设备的状态枚举。
Z
zengyawen 已提交
18

19
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
20

张必荣 已提交
21
| 名称 | 值 | 说明 |
Z
zengyawen 已提交
22
| -------- | -------- | -------- |
23 24 25 26 27 28 29
| STATE_UNKNOWN | 0 | 表示显示设备状态未知。|
| STATE_OFF | 1 | 表示显示设备状态为关闭。 |
| STATE_ON | 2 | 表示显示设备状态为开启。|
| STATE_DOZE | 3 | 表示显示设备为低电耗模式。|
| STATE_DOZE_SUSPEND | 4 | 表示显示设备为睡眠模式,CPU为挂起状态。 |
| STATE_VR | 5 | 表示显示设备为VR模式。|
| STATE_ON_SUSPEND | 6 | 表示显示设备为开启状态,CPU为挂起状态。 |
Z
zengyawen 已提交
30 31 32


## Display
Z
zengyawen 已提交
33 34 35

描述display对象的属性。

36
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
37

Z
zengyawen 已提交
38 39
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
40 41 42
| id | number | 是 | 否 | 显示设备的id号。|
| name | string | 是 | 否 | 显示设备的名称。|
| alive | boolean | 是 | 否 | 显示设备是否启用。|
43
| state | [DisplayState](#displaystate) | 是 | 否 | 显示设备的状态。|
44 45 46 47 48 49 50 51 52
| refreshRate | number | 是 | 否 | 显示设备的刷新率。|
| rotation | number | 是 | 否 | 显示设备的屏幕旋转角度。|
| width | number | 是 | 否 | 显示设备的宽度,单位为像素。|
| height | number | 是 | 否 | 显示设备的高度,单位为像素。|
| densityDPI | number | 是 | 否 | 显示设备的屏幕密度,单位为DPI。|
| densityPixels | number | 是 | 否 | 显示设备的屏幕密度,单位为像素。|
| scaledDensity | number | 是 | 否 | 显示设备的显示字体的缩放因子。|
| xDPI | number | 是 | 否 | x方向中每英寸屏幕的确切物理像素值。 |
| yDPI | number | 是 | 否 | y方向中每英寸屏幕的确切物理像素值。|
Z
zengyawen 已提交
53 54 55 56


## display.getDefaultDisplay

Y
youqijing 已提交
57
getDefaultDisplay(callback: AsyncCallback<Display>): void
Z
zengyawen 已提交
58

张必荣 已提交
59
获取当前默认的display对象,使用callback异步回调。
Z
zengyawen 已提交
60

G
ge-yafang 已提交
61
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
62

G
ge-yafang 已提交
63
**参数:**
Z
zengyawen 已提交
64 65
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
66
  | callback | AsyncCallback<[Display](#display)> | 是 | 回调函数。返回当前默认的display对象。 |
Z
zengyawen 已提交
67

G
ge-yafang 已提交
68
**示例:**
69
  ```js
Z
zengyawen 已提交
70 71
  var displayClass = null;
  display.getDefaultDisplay((err, data) => {
Y
youqijing 已提交
72
      if (err.code) {
Z
zengyawen 已提交
73 74 75 76 77 78 79 80
          console.error('Failed to obtain the default display object. Code:  ' + JSON.stringify(err));
          return;
      }
      console.info('Succeeded in obtaining the default display object. Data:' + JSON.stringify(data));
      displayClass = data;
  });
  ```

81 82 83 84
## display.getDefaultDisplay

getDefaultDisplay(): Promise<Display>

张必荣 已提交
85
获取当前默认的display对象,使用Promise异步回调。
86

G
ge-yafang 已提交
87
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
88

G
ge-yafang 已提交
89
**返回值:**
90 91 92

  | 类型                               | 说明                                           |
  | ---------------------------------- | ---------------------------------------------- |
93
  | Promise<[Display](#display)> | Promise对象。返回当前默认的display对象。 |
94

G
ge-yafang 已提交
95
**示例:**
96

97
  ```js
98 99 100 101 102 103 104 105
  let promise = display.getDefaultDisplay();
  promise.then(() => {
      console.log('getDefaultDisplay success');
  }).catch((err) => {
      console.log('getDefaultDisplay fail: ' + JSON.stringify(err));
  });
  ```

张必荣 已提交
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
## display.getDefaultDisplaySync<sup>9+</sup>

getDefaultDisplaySync(): Display

获取当前默认的display对象。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**返回值:**

| 类型                           | 说明                                           |
| ------------------------------| ----------------------------------------------|
| [Display](#display) | 返回默认的display对象。 |

**示例:**

```js
var displayClass = display.getDefaultDisplaySync();
```

126 127 128 129
## display.getAllDisplay

getAllDisplay(callback: AsyncCallback&lt;Array&lt;Display&gt;&gt;): void

张必荣 已提交
130
获取当前所有的display对象,使用callback异步回调。
131

G
ge-yafang 已提交
132
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
133

G
ge-yafang 已提交
134
**参数:**
135

136 137
  | 参数名   | 类型                                                 | 必填 | 说明                            |
  | -------- | ---------------------------------------------------- | ---- | ------------------------------- |
138
  | callback | AsyncCallback&lt;Array&lt;[Display](#display)&gt;&gt; | 是   | 回调函数。返回当前所有的display对象。 |
139

G
ge-yafang 已提交
140
**示例:**
141

142
  ```js
143
  display.getAllDisplay((err, data) => {
Y
youqijing 已提交
144
      if (err.code) {
145 146 147 148 149 150
          console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err));
          return;
      }
      console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data))
  });
  ```
Z
zengyawen 已提交
151

152 153 154 155
## display.getAllDisplay

getAllDisplay(): Promise&lt;Array&lt;Display&gt;&gt;

张必荣 已提交
156
获取当前所有的display对象,使用Promise异步回调。
157

G
ge-yafang 已提交
158
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
159

G
ge-yafang 已提交
160
**返回值:**
161 162 163

  | 类型                                            | 说明                                                    |
  | ----------------------------------------------- | ------------------------------------------------------- |
164
  | Promise&lt;Array&lt;[Display](#display)&gt;&gt; | Promise对象。返回当前所有的display对象。 |
165

G
ge-yafang 已提交
166
**示例:**
167

168
  ```js
169 170 171 172 173 174 175 176
  let promise = display.getAllDisplay();
  promise.then(() => {
      console.log('getAllDisplay success');
  }).catch((err) => {
      console.log('getAllDisplay fail: ' + JSON.stringify(err));
  });
  ```

Z
zengyawen 已提交
177 178
## display.on('add'|'remove'|'change')

Y
youqijing 已提交
179
on(type: 'add'|'remove'|'change', callback: Callback&lt;number&gt;): void
Z
zengyawen 已提交
180

张必荣 已提交
181
开启显示设备变化的监听。
Z
zengyawen 已提交
182

G
ge-yafang 已提交
183
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
184

G
ge-yafang 已提交
185
**参数:**
张必荣 已提交
186 187
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
188
| type | string | 是 | 监听事件。<br/>- type为"add",表示增加显示设备事件。<br/>- type为"remove",表示移除显示设备事件。<br/>- type为"change",表示改变显示设备事件。 |
张必荣 已提交
189
| callback | Callback&lt;number&gt; | 是 | 回调函数。返回监听到的显示设备的id。 |
Z
zengyawen 已提交
190

G
ge-yafang 已提交
191
**示例:**
192
  ```js
Z
zengyawen 已提交
193 194 195
  var callback = (data) => {
      console.info('Listening enabled. Data: ' + JSON.stringify(data))
  }
196
  display.on("add", callback);
Z
zengyawen 已提交
197
  ```
Z
zengyawen 已提交
198 199


Z
zengyawen 已提交
200
## display.off('add'|'remove'|'change')
Z
zengyawen 已提交
201

Y
youqijing 已提交
202
off(type: 'add'|'remove'|'change', callback?: Callback&lt;number&gt;): void
Z
zengyawen 已提交
203

张必荣 已提交
204
关闭显示设备变化的监听。
Z
zengyawen 已提交
205

G
ge-yafang 已提交
206
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
207

G
ge-yafang 已提交
208
**参数:**
Z
zengyawen 已提交
209 210
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
211
  | type | string | 是 | 监听事件。<br/>- type为"add",表示增加显示设备事件。<br/>- type为"remove",表示移除显示设备事件。<br/>- type为"change",表示改变显示设备事件。 |
212
  | callback | Callback&lt;number&gt; | 否 | 回调函数。返回监听到的显示设备的id。 |
Z
zengyawen 已提交
213

G
ge-yafang 已提交
214
**示例:**
215
  ```js
216
  display.off("remove");
Z
zengyawen 已提交
217
  ```