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 安全区域问题
487浏览 • 1回复 待解决
HarmonyOS 安全区域失效
370浏览 • 1回复 待解决
HarmonyOS 安全区域出错
418浏览 • 1回复 待解决
HarmonyOS 如何获取手机安全区域高度
414浏览 • 1回复 待解决
Flutter 项目设备安全区如何适配?
491浏览 • 1回复 待解决
HarmonyOS WebView安全区域问题
209浏览 • 1回复 待解决
HarmonyOS scroll安全区域问题
459浏览 • 1回复 待解决
HarmonyOS 设置安全区域不生效
402浏览 • 1回复 待解决
HarmonyOS 页面底部流出安全区
375浏览 • 1回复 待解决
关于屏幕安全区域的问题咨询
706浏览 • 1回复 待解决