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 安全区域出错
1007浏览 • 1回复 待解决
HarmonyOS 安全区域问题
1313浏览 • 1回复 待解决
HarmonyOS 安全区域失效
1036浏览 • 1回复 待解决
HarmonyOS 如何获取手机安全区域高度
1077浏览 • 1回复 待解决
HarmonyOS 视频组件无法扩展其安全区
1368浏览 • 1回复 待解决
Flutter 项目设备安全区如何适配?
1087浏览 • 1回复 待解决
HarmonyOS scroll安全区域问题
1102浏览 • 1回复 待解决
HarmonyOS WebView安全区域问题
822浏览 • 1回复 待解决
HarmonyOS 设置安全区域不生效
1129浏览 • 1回复 待解决
HarmonyOS 页面底部流出安全区
1114浏览 • 1回复 待解决
关于屏幕安全区域的问题咨询
1380浏览 • 1回复 待解决