积分431 / 贡献0

提问31答案被采纳5文章47

[经验分享] OpenHarmony如何获取屏幕属性 原创

润开鸿_坚果 显示全部楼层 发表于 2023-11-22 09:55:07

获取屏幕属性

这一篇文章主要是为了获取到屏幕属性之后,方便没有预览器的同学使用

完整源码

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://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/reference/apis/js-apis-display.md/

©著作权归作者所有,转载或内容合作请联系作者

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部