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

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

HarmonyOS
2024-12-26 14:53:37
浏览
收藏 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
微信
回复
2024-12-26 16:29:50
相关问题
HarmonyOS 如何获取手机安全区域高度
1090浏览 • 1回复 待解决
HarmonyOS 安全区域问题
1338浏览 • 1回复 待解决
HarmonyOS 安全区域出错
1032浏览 • 1回复 待解决
HarmonyOS 安全区域失效
1054浏览 • 1回复 待解决
Flutter 项目设备安全区如何适配?
1102浏览 • 1回复 待解决
HarmonyOS WebView安全区域问题
857浏览 • 1回复 待解决
HarmonyOS scroll安全区域问题
1125浏览 • 1回复 待解决
HarmonyOS 视频组件无法扩展其安全区
1380浏览 • 1回复 待解决
HarmonyOS 页面底部流出安全区
1126浏览 • 1回复 待解决
HarmonyOS 设置安全区域不生效
1155浏览 • 1回复 待解决
关于屏幕安全区域的问题咨询
1409浏览 • 1回复 待解决