HarmonyOS 怎样在独立组件内获取安全区信息

一个独立的自定义组件(stage模式下),怎样获取安全区信息或者说调用getWindowAvoidArea方法?

HarmonyOS
21h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

如果想在独立组件库内使用WindowClass,可以使用下面的方式获取:

//获取当前窗口
let windowClass = await window.getLastWindow(getContext(this));
//如果没设置全屏就需要设置全屏(非全屏状态下窗口和系统状态栏没有重叠)
await windowClass.setWindowLayoutFullScreen(true)
let type = window.AvoidAreaType.TYPE_SYSTEM;
try {
  let avoidArea = windowClass.getWindowAvoidArea(type);
  console.log("height: " + avoidArea.topRect.height)
} catch (exception) {
  console.error('Failed to obtain the area. Cause:' + JSON.stringify(exception));
}

其中getContext(this)需要传入组件struct,或者选择无参调用。

分享
微博
QQ
微信
回复
19h前
相关问题
HarmonyOS 如何获取手机安全区域高度
32浏览 • 1回复 待解决
HarmonyOS 安全区域出错
41浏览 • 1回复 待解决
HarmonyOS 安全区域问题
69浏览 • 1回复 待解决
HarmonyOS 安全区域失效
38浏览 • 1回复 待解决
Flutter 项目设备安全区如何适配?
214浏览 • 1回复 待解决
HarmonyOS scroll安全区域问题
56浏览 • 1回复 待解决
HarmonyOS 设置安全区域不生效
59浏览 • 1回复 待解决
关于屏幕安全区域的问题咨询
355浏览 • 1回复 待解决