获取窗口内容规避的区域值全部都是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 后台窗口内容输入
3296浏览 • 0回复 待解决
请问如何获取窗口宽度
970浏览 • 1回复 待解决
如何获取窗口宽高信息
919浏览 • 1回复 待解决
如何根据组件内容大小修改浮动窗口
850浏览 • 1回复 待解决
怎么获取select选中
6326浏览 • 1回复 待解决
如何获取当前窗口宽度
29浏览 • 1回复 待解决
如何获取窗口window宽度
923浏览 • 1回复 待解决
求大佬告知如何获取窗口宽度
822浏览 • 1回复 待解决
Preferences获取不到
7767浏览 • 2回复 待解决
鸿蒙上如何获取挖孔区域高度啊
4864浏览 • 1回复 待解决
Native获取Rawfile内容并打印
409浏览 • 1回复 待解决
如何获取应用签名证书hash
837浏览 • 1回复 待解决
如何获取对象唯一标识(Hash)
34浏览 • 1回复 待解决
求大佬告知如何获取设备dpi
820浏览 • 1回复 待解决
是否有获取当前屏幕亮度API
1038浏览 • 1回复 待解决