HarmonyOS 鸿蒙Next如何获取屏幕底部安全区的高度

发布于 1周前 作者 songsunli 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何获取屏幕底部安全区的高度

【关键字】

屏幕 / 底部安全区 / 高度

【问题描述】

如何获取屏幕底部安全区的高度

【解决方案】

获取屏幕底部安全区的高度,示例代码如下:

获取布局避让遮挡的区域
let type = window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR; // 以导航条避让为例
let avoidArea = windowClass.getWindowAvoidArea(type);
// 此处获取的单位为px,需转为vp
let bottomRectHeight = px2vp(avoidArea.bottomRect.height); // 获取到导航条区域的高度
console.log("bottomRectHeight is " + bottomRectHeight); 

2 回复
顶部安全区域怎么获取呢? 为什么还有bottomLeft、bottomTop这样的区别?

在HarmonyOS鸿蒙Next中,获取屏幕底部安全区的高度可以通过原生API来实现。以下是一个具体的步骤和代码示例:

  1. 使用原生API获取安全区高度

    • 调用window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR以获取导航条避让区域。
    • 使用windowClass.getWindowAvoidArea(type)获取避让区域信息。
    • 将获取到的避让区域高度从像素(px)转换为虚拟像素(vp),以便在UI布局中使用。

示例代码如下:

let type = window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR;
let avoidArea = windowClass.getWindowAvoidArea(type);
let bottomRectHeight = px2vp(avoidArea.bottomRect.height);
console.log("bottomRectHeight is " + bottomRectHeight);
  1. 注意事项

    • 确保在正确的生命周期函数或方法中调用上述代码,例如在EntryAbilityonWindowStageCreate方法中。
    • 转换函数px2vp需要根据设备的DPI等参数进行实现,以确保转换的准确性。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部