js-apis-display.md 6.8 KB
Newer Older
1
# 屏幕属性
Z
zengyawen 已提交
2

Z
zengyawen 已提交
3
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
4
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
5 6

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

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

Z
zengyawen 已提交
12 13

## DisplayState
Z
zengyawen 已提交
14 15 16

用于表示显示设备的状态。

17 18
**系统能力**:以下各项对应的系统能力均为 SystemCapability.WindowManager.WindowManager.Core。

Z
zengyawen 已提交
19 20
| 名称 | 默认值 | 说明 |
| -------- | -------- | -------- |
21 22 23 24 25 26 27
| 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 已提交
28 29 30


## Display
Z
zengyawen 已提交
31 32 33

描述display对象的属性。

34 35
**系统能力**:以下各项对应的系统能力均为 SystemCapability.WindowManager.WindowManager.Core。

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


## display.getDefaultDisplay

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

获取当前默认的display对象。

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

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

- 示例
67
  ```js
Z
zengyawen 已提交
68 69
  var displayClass = null;
  display.getDefaultDisplay((err, data) => {
Y
youqijing 已提交
70
      if (err.code) {
Z
zengyawen 已提交
71 72 73 74 75 76 77 78
          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;
  });
  ```

79 80 81 82 83 84 85 86 87 88 89 90
## display.getDefaultDisplay

getDefaultDisplay(): Promise<Display>

获取当前默认的display对象。

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

- 返回值

  | 类型                               | 说明                                           |
  | ---------------------------------- | ---------------------------------------------- |
91
  | Promise<[Display](#display)> | 以Promise形式返回结果,返回默认的display对象。 |
92 93 94

- 示例

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

104 105 106 107 108 109
## display.getAllDisplay

getAllDisplay(callback: AsyncCallback<Array<Display>>): void

获取当前所有的display对象。

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

112 113
- 参数

114 115
  | 参数名   | 类型                                                 | 必填 | 说明                            |
  | -------- | ---------------------------------------------------- | ---- | ------------------------------- |
116
  | callback | AsyncCallback<Array<[Display](#display)>> | 是   | 回调返回当前所有的display对象。 |
117 118 119

- 示例

120
  ```js
121
  display.getAllDisplay((err, data) => {
Y
youqijing 已提交
122
      if (err.code) {
123 124 125 126 127 128
          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 已提交
129

130 131 132 133 134 135 136 137 138 139 140 141
## display.getAllDisplay

getAllDisplay(): Promise<Array<Display>>

获取当前所有的display对象。

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

- 返回值

  | 类型                                            | 说明                                                    |
  | ----------------------------------------------- | ------------------------------------------------------- |
142
  | Promise<Array<[Display](#display)>> | 以Promise形式返回结果,返回包含所有Display对象的Array。 |
143 144 145

- 示例

146
  ```js
147 148 149 150 151 152 153 154
  let promise = display.getAllDisplay();
  promise.then(() => {
      console.log('getAllDisplay success');
  }).catch((err) => {
      console.log('getAllDisplay fail: ' + JSON.stringify(err));
  });
  ```

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

Y
youqijing 已提交
157
on(type: 'add'|'remove'|'change', callback: Callback<number>): void
Z
zengyawen 已提交
158 159 160

开启监听。

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

Z
zengyawen 已提交
163 164 165 166 167 168 169
- 参数
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | type | string | 是 | 设置监听类型。<br/>-&nbsp;type为"add",表示监听增加显示设备。<br/>-&nbsp;type为"remove",表示监听移除显示设备。<br/>-&nbsp;type为"change",表示监听改变显示设备。 |
  | callback | Callback&lt;number&gt; | 是 | 回调返回监听到的显示设备的id。 |

- 示例
170
  ```js
Z
zengyawen 已提交
171 172 173 174 175 176
  var type = "add";
  var callback = (data) => {
      console.info('Listening enabled. Data: ' + JSON.stringify(data))
  }
  display.on(type, callback);
  ```
Z
zengyawen 已提交
177 178


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

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

关闭监听。
Z
zengyawen 已提交
184

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

Z
zengyawen 已提交
187 188 189 190 191 192 193
- 参数
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | type | string | 是 | 设置监听类型。<br/>-&nbsp;type为"add",表示监听增加显示设备。<br/>-&nbsp;type为"remove",表示监听移除显示设备。<br/>-&nbsp;type为"change",表示监听改变显示设备。 |
  | callback | Callback&lt;number&gt; | 否 | 回调返回监听到的显示设备的id。 |

- 示例
194
  ```js
Z
zengyawen 已提交
195 196 197
  var type = "remove";
  display.off(type);
  ```