获取窗口内容规避的区域值全部都是0

let avoidArea = currentWindow.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM)console.log("=======statusHeight: ", JSON.stringify(avoidArea));
HarmonyOS
2024-04-29 17:06:59
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
peterlee99

getlastWindow。目前该接口用于获取最上层的窗口。https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-window-0000001820880785#ZH-CN_TOPIC_0000001820880785__windowgetlastwindow9

根据接口定义,没有办法确定在调用该方法时是否存在子窗口。如果需要保证一直能获取到窗口的避让区域,可以使用以下代码:

public static getStatusHeight(): Promise<number> { 
return this.windowStage.getMainWindow()…then(currentWindow => { 
let avoidArea = currentWindow.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM) 
let statusHeight = avoidArea.topRect.height; 
console.log("statusHeight: ", JSON.stringify(avoidArea)); 
return statusHeight; 
}).catch((e) => { 
hilog.error(0x0000, TAG, ‘%{public}s’, 'Failed to obtain the default display object. Code: ’ + JSON.stringify(e)); 
return 0; 
}) 
}

获取windowStage方式需要在entryAbility中获取:

onWindowStageCreate(windowStage: window.WindowStage): void { 
  // Main window is created, set main page for this ability 
  hilog.info(0x0000, ‘testTag’, ‘%{public}s’, ‘Ability onWindowStageCreate’); 
windowStage.loadContent(‘pages/Page1’, (err, data) => { 
if (err.code) { 
hilog.error(0x0000, ‘testTag’, ‘Failed to load the content. Cause: %{public}s’, JSON.stringify(err) ?? ‘’); 
return; 
} 
// 将windowStage进行持久化以便子窗口调用 
AppStorage.setOrCreate(“windowStage”,windowStage); 
hilog.info(0x0000, ‘testTag’, ‘Succeeded in loading the content. Data: %{public}s’, JSON.stringify(data) ?? ‘’); 
}); 
}
分享
微博
QQ
微信
回复
2024-04-30 10:56:06
相关问题
Python 后台窗口内容输入
2633浏览 • 0回复 待解决
如何获取窗口宽高信息
405浏览 • 1回复 待解决
怎么获取select选中
5683浏览 • 1回复 待解决
求大佬告知如何获取窗口宽度
305浏览 • 1回复 待解决
鸿蒙上如何获取挖孔区域高度啊
4088浏览 • 1回复 待解决
Preferences获取不到
7094浏览 • 2回复 待解决
如何获取应用签名证书hash
297浏览 • 1回复 待解决
求大佬告知如何获取设备dpi
281浏览 • 1回复 待解决
是否有获取当前屏幕亮度API
451浏览 • 1回复 待解决
在接口内定义匿名回调语法
149浏览 • 1回复 待解决
openharmony上如何获取类似android_id
2677浏览 • 1回复 待解决
如何根据组件内容大小修改浮动窗口
379浏览 • 1回复 待解决
请问如何获取窗口宽度
388浏览 • 1回复 待解决
如何屏蔽弹窗外区域事件
357浏览 • 1回复 待解决
text内容如何实时获取并添加修改?
1359浏览 • 1回复 待解决