有谁知道如何获取状态栏高度-鸿蒙开发者社区-51CTO.COM

有谁知道如何获取状态栏高度

有谁知道如何获取状态栏高度

HarmonyOS
2024-01-31 16:13:49
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
skite001

可以在全屏模式下,窗口和状态栏存在重叠,可通过window的AvoidAreaType获取状态栏和窗口重叠区域的属性。

1.通过window的window.getLastWindow获取当前窗口。

2.通过当前窗口实例调用getWindowAvoidArea获取状态栏和窗口重叠区域的属性,此区域的高度即为状态栏的高度。

示例代码

//获取当前窗口 
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)); 
}

参考链接

获取窗口内容规避的区域

分享
微博
QQ
微信
回复
2024-02-01 18:07:45
相关问题
有谁知道如何获取IMEI码
2522浏览 • 1回复 待解决
有谁知道如何获取应用包信息
2170浏览 • 1回复 待解决
有谁知道沙箱目录怎么获取
3025浏览 • 1回复 待解决
有谁知道如何获取系统api版本
2493浏览 • 1回复 待解决
有谁知道如何获取字体资源
542浏览 • 1回复 待解决
有谁知道如何创建 JSONObject
770浏览 • 1回复 待解决
有谁知道如何生成UUID
2081浏览 • 1回复 待解决
有谁知道如何获取文件夹大小
1554浏览 • 1回复 待解决
有谁知道如何主动关闭应用
2416浏览 • 1回复 待解决
有谁知道如何理解栅格布局
942浏览 • 1回复 待解决
有谁知道flexBasis使用问题
1363浏览 • 1回复 待解决
有谁知道如何屏蔽触摸事件
2116浏览 • 1回复 待解决
有谁知道如何监听屏幕旋转
2408浏览 • 1回复 待解决
有谁知道如何强制退出app?
700浏览 • 1回复 待解决
HarmonyOS 如何获取状态栏高度
1177浏览 • 1回复 待解决
HarmonyOS 如何获取状态栏高度
350浏览 • 1回复 待解决
如何获取状态栏和导航高度
3431浏览 • 1回复 待解决
如何获取状态栏与导航高度
788浏览 • 0回复 待解决
有谁知道如何计算文本的宽度
2475浏览 • 1回复 待解决
有谁知道web组件如何下拉刷新
2146浏览 • 1回复 待解决
HarmonyOS 获取状态栏高度
383浏览 • 1回复 待解决
有谁知道如何注册app的页面
659浏览 • 1回复 待解决
有谁知道如何拦截住页面返回
865浏览 • 3回复 待解决
有谁知道如何访问沙盒路径
882浏览 • 1回复 待解决
有谁知道应用升级的方式
2159浏览 • 1回复 待解决