HarmonyOS 鸿蒙Next 求助 display 获取屏幕的高度时是否包括了状态栏

HarmonyOS 鸿蒙Next 求助 display 获取屏幕的高度时是否包括了状态栏 第一个问题: 如下代码或许屏幕的高度时, 是否包括了状态栏的高度?

display.getDefaultDisplaySync().height

第二个问题: 这样获取状态栏高度是否正确?

let displayClass = display.getDefaultDisplaySync().getCutoutInfo().then((data) => {
  this.str = px2vp(data.boundingRects[1].height).toString()
})

如果正确,那么boundingRects数组中怎么有四个数组项, 这四个数组项代表什么?

下面是用日志输出数组boundingRects中的四个数组项

console.info('tip',`${JSON.stringify(data.boundingRects)}`)
[
  {"left":0,"top":0,"width":0,"height":0},
  {"left":574,"top":0,"width":80,"height":122},
  {"left":0,"top":0,"width":0,"height":0},
  {"left":0,"top":0,"width":0,"height":0}
]

更多关于HarmonyOS 鸿蒙Next 求助 display 获取屏幕的高度时是否包括了状态栏的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

display获取的屏幕高度包括状态栏的,{“left”:574,“top”:0,“width”:80,“height”:122},这个数组应该是手机前置摄像区域(规避区)

更多关于HarmonyOS 鸿蒙Next 求助 display 获取屏幕的高度时是否包括了状态栏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


摄像头顶部距离屏幕顶部的距离,


getWindowAvoidArea 用一下这个api

感谢,又多了一种获取规避区域的方法,

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17

第一个问题,我应该是可以确定它包括了状态栏的高度了,但是第二个问题! em, 还是不太理解, 大家可以帮我分析一下吗

插眼

在HarmonyOS中,display 获取屏幕高度时不包括状态栏。display 对象提供的屏幕高度通常是应用可用的屏幕区域,不包括系统状态栏和导航栏。如果需要获取包括状态栏的屏幕高度,可以使用 Window 对象的 getAttributes 方法来获取实际屏幕尺寸。getAttributes 方法返回的 heightPixels 属性表示屏幕的总高度,包括状态栏。具体实现可以参考 WindowManager 相关API。

回到顶部