• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 屏幕属性
2屏幕属性提供管理显示设备的一些基础能力,包括获取默认显示设备的信息,获取所有显示设备的信息以及监听显示设备的插拔行为。
3
4> **说明:**
5>
6> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
7
8## 导入模块
9
10```js
11import display from '@ohos.display';
12```
13
14
15## DisplayState
16
17用于表示显示设备的状态。
18
19**系统能力:** SystemCapability.WindowManager.WindowManager.Core
20
21| 名称 | 默认值 | 说明 |
22| -------- | -------- | -------- |
23| STATE_UNKNOWN | 0 | 表示显示设备状态未知。|
24| STATE_OFF | 1 | 表示显示设备状态为关闭。 |
25| STATE_ON | 2 | 表示显示设备状态为开启。|
26| STATE_DOZE | 3 | 表示显示设备为低电耗模式。|
27| STATE_DOZE_SUSPEND | 4 | 表示显示设备为睡眠模式,CPU为挂起状态。 |
28| STATE_VR | 5 | 表示显示设备为VR模式。|
29| STATE_ON_SUSPEND | 6 | 表示显示设备为开启状态,CPU为挂起状态。 |
30
31
32## Display
33
34描述display对象的属性。
35
36**系统能力:** SystemCapability.WindowManager.WindowManager.Core
37
38| 名称 | 参数类型 | 可读 | 可写 | 说明 |
39| -------- | -------- | -------- | -------- | -------- |
40| id | number | 是 | 否 | 显示设备的id号。|
41| name | string | 是 | 否 | 显示设备的名称。|
42| alive | boolean | 是 | 否 | 显示设备是否启用。|
43| state | [DisplayState](#displaystate) | 是 | 否 | 显示设备的状态。|
44| refreshRate | number | 是 | 否 | 显示设备的刷新率。|
45| rotation | number | 是 | 否 | 显示设备的屏幕旋转角度。|
46| width | number | 是 | 否 | 显示设备的宽度,单位为像素。|
47| height | number | 是 | 否 | 显示设备的高度,单位为像素。|
48| densityDPI | number | 是 | 否 | 显示设备的屏幕密度,表示每英寸点数。一般取值160、480等。|
49| densityPixels | number | 是 | 否 | 显示设备的逻辑密度,是与像素单位无关的缩放系数。一般取值1、3等。|
50| scaledDensity | number | 是 | 否 | 显示设备的显示字体的缩放因子。通常与densityPixels相同。|
51| xDPI | number | 是 | 否 | x方向中每英寸屏幕的确切物理像素值。 |
52| yDPI | number | 是 | 否 | y方向中每英寸屏幕的确切物理像素值。|
53
54
55## display.getDefaultDisplay
56
57getDefaultDisplay(callback: AsyncCallback<Display>): void
58
59获取当前默认的display对象。
60
61**系统能力:** SystemCapability.WindowManager.WindowManager.Core
62
63**参数:**
64
65  | 参数名 | 类型 | 必填 | 说明 |
66  | -------- | -------- | -------- | -------- |
67  | callback | AsyncCallback<[Display](#display)> | 是 | 回调函数。返回当前默认的display对象。 |
68
69**示例:**
70
71```js
72var displayClass = null;
73display.getDefaultDisplay((err, data) => {
74    if (err.code) {
75        console.error('Failed to obtain the default display object. Code:  ' + JSON.stringify(err));
76        return;
77    }
78    console.info('Succeeded in obtaining the default display object. Data:' + JSON.stringify(data));
79    displayClass = data;
80});
81```
82
83## display.getDefaultDisplay
84
85getDefaultDisplay(): Promise<Display>
86
87获取当前默认的display对象。
88
89**系统能力:** SystemCapability.WindowManager.WindowManager.Core
90
91**返回值:**
92
93  | 类型                               | 说明                                           |
94  | ---------------------------------- | ---------------------------------------------- |
95  | Promise<[Display](#display)> | Promise对象。返回当前默认的display对象。 |
96
97**示例:**
98
99```js
100var displayClass = null;
101let promise = display.getDefaultDisplay();
102promise.then((data) => {
103    displayClass = data;
104    console.info('Succeeded in obtaining the default display object. Data:' + JSON.stringify(data));
105}).catch((err) => {
106    console.error('Failed to obtain the default display object. Code:  ' + JSON.stringify(err));
107});
108```
109
110## display.getAllDisplay
111
112getAllDisplay(callback: AsyncCallback<Array<Display>>): void
113
114获取当前所有的display对象。
115
116**系统能力:** SystemCapability.WindowManager.WindowManager.Core
117
118**参数:**
119
120  | 参数名   | 类型                                                 | 必填 | 说明                            |
121  | -------- | ---------------------------------------------------- | ---- | ------------------------------- |
122  | callback | AsyncCallback<Array<[Display](#display)>> | 是   | 回调函数。返回当前所有的display对象。 |
123
124**示例:**
125
126```js
127display.getAllDisplay((err, data) => {
128    if (err.code) {
129        console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err));
130        return;
131    }
132    console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data));
133});
134```
135
136## display.getAllDisplay
137
138getAllDisplay(): Promise<Array<Display>>
139
140获取当前所有的display对象。
141
142**系统能力:** SystemCapability.WindowManager.WindowManager.Core
143
144**返回值:**
145
146  | 类型                                            | 说明                                                    |
147  | ----------------------------------------------- | ------------------------------------------------------- |
148  | Promise<Array<[Display](#display)>> | Promise对象。返回当前所有的display对象。 |
149
150**示例:**
151
152```js
153let promise = display.getAllDisplay();
154promise.then((data) => {
155    console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data));
156}).catch((err) => {
157    console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err));
158});
159```
160
161## display.on('add'|'remove'|'change')
162
163on(type: 'add'|'remove'|'change', callback: Callback<number>): void
164
165开启监听。
166
167**系统能力:** SystemCapability.WindowManager.WindowManager.Core
168
169**参数:**
170
171  | 参数名 | 类型 | 必填 | 说明 |
172  | -------- | -------- | -------- | -------- |
173  | type | string | 是 | 设置监听类型。<br/>-&nbsp;type为"add",表示监听增加显示设备。<br/>-&nbsp;type为"remove",表示监听移除显示设备。<br/>-&nbsp;type为"change",表示监听改变显示设备。 |
174  | callback | Callback&lt;number&gt; | 是 | 回调函数。返回监听到的显示设备的id。 |
175
176**示例:**
177
178```js
179var callback = (data) => {
180    console.info('Listening enabled. Data: ' + JSON.stringify(data))
181}
182display.on("add", callback);
183  ```
184
185## display.off('add'|'remove'|'change')
186
187off(type: 'add'|'remove'|'change', callback?: Callback&lt;number&gt;): void
188
189关闭监听。
190
191**系统能力:** SystemCapability.WindowManager.WindowManager.Core
192
193**参数:**
194
195  | 参数名 | 类型 | 必填 | 说明 |
196  | -------- | -------- | -------- | -------- |
197  | type | string | 是 | 设置监听类型。<br/>-&nbsp;type为"add",表示监听增加显示设备。<br/>-&nbsp;type为"remove",表示监听移除显示设备。<br/>-&nbsp;type为"change",表示监听改变显示设备。 |
198  | callback | Callback&lt;number&gt; | 否 | 回调函数。返回监听到的显示设备的id。 |
199
200**示例:**
201```js
202display.off("remove");
203```
204