OpenHarmony开发者论坛
标题:
OpenHarmony如何获取屏幕属性
[打印本页]
作者:
润开鸿_坚果
时间:
2023-11-22 09:55
标题:
OpenHarmony如何获取屏幕属性
[md]## 获取屏幕属性
**这一篇文章主要是为了获取到屏幕属性之后,方便没有预览器的同学使用**
### 完整源码
```
import common from '@ohos.app.ability.common';
import display from '@ohos.display';
@Entry
@Component
struct Index {
@State message: string = 'Hello World';
@State display: string = '屏幕属性';
build() {
Row() {
Column() {
Text(this.display).fontSize(36)
.fontWeight(FontWeight.Bold)
.onClick(() => {
let displayClass = null;
let promise = display.getAllDisplays();
promise.then((data) => {
displayClass = data;
console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data));
this.display = JSON.stringify(data)
}).catch((err) => {
console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err));
});
})
}
.width('100%')
}
.height('100%')
}
}
```
### 返回的参数说明
| **名称** | **类型** | **可读** | **可写** | **说明** |
| ------------------- | ------------------ | ---------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **id** | **number** | **是** | **否** | **显示设备的id号,该参数应为整数。** |
| **name** | **string** | **是** | **否** | **显示设备的名称。** |
| **alive** | **boolean** | **是** | **否** | **显示设备是否启用。** |
| **state** | **DisplayState** | **是** | **否** | **显示设备的状态。** |
| **refreshRate** | **number** | **是** | **否** | **显示设备的刷新率,该参数应为整数。** |
| **rotation** | **number** | **是** | **否** | **显示设备的屏幕旋转角度。 值为0时,表示显示设备屏幕旋转为0°; 值为1时,表示显示设备屏幕旋转为90°; 值为2时,表示显示设备屏幕旋转为180°; 值为3时,表示显示设备屏幕旋转为270°。** |
| **width** | **number** | **是** | **否** | **显示设备的宽度,单位为像素,该参数应为整数。** |
| **height** | **number** | **是** | **否** | **显示设备的高度,单位为像素,该参数应为整数。** |
| **densityDPI** | **number** | **是** | **否** | **显示设备的屏幕密度,表示每英寸点数。该参数为浮点数,一般取值160.0、480.0等。** |
| **orientation** | **Orientation** | **是** | **否** | **表示屏幕当前显示的方向。** |
| **densityPixels** | **number** | **是** | **否** | **显示设备的逻辑密度,是像素单位无关的缩放系数。该参数为浮点数,一般取值1.0、3.0等。** |
| **scaledDensity** | **number** | **是** | **否** | **显示设备的显示字体的缩放因子。该参数为浮点数,通常与densityPixels相同。** |
| **xDPI** | **number** | **是** | **否** | **x方向中每英寸屏幕的确切物理像素值,该参数为浮点数。** |
| **yDPI** | **number** | **是** | **否** | **y方向中每英寸屏幕的确切物理像素值,该参数为浮点数。** |
### 返回的数据
```
[{
"id": 0,
"width": 800,
"height": 1280,
"refreshRate": 66,
"name": "display_0",
"alive": true,
"state": 0,
"rotation": 0,
"densityDPI": 240,
"densityPixels": 1.5,
"scaledDensity": 1.5,
"xDPI": 0,
"yDPI": 0
}]
```
### 运行后在屏幕上的展示
![image-20231122090940728](
https://luckly007.oss-cn-beijing ... 231122090940728.png
)
### 参考
[
https://docs.openharmony.cn/page ... js-apis-display.md/
](
https://docs.openharmony.cn/page ... js-apis-display.md/
)
[/md]
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5