文档管理中心
您当前浏览的HarmonyOS 5.0.0(API 12)文档归档不再维护,推荐您使用最新版本。详细请参考文档维护策略变更
FAQ应用框架开发UI框架方舟UI框架(ArkUI)如何获取状态栏和导航栏高度

如何获取状态栏和导航栏高度

获取系统状态栏,导航栏等避让区域,使用系统提供的getWindowAvoidArea获取系统规避区域,返回值中的topRect.height即为系统状态栏高度,单位为px。参考代码如下:

收起
自动换行
深色代码主题
复制
  1. // MainAbility.ets
  2. import { common, UIAbility } from '@kit.AbilityKit';
  3. import { window } from '@kit.ArkUI';
  4. /**
  5. * 获取系统状态栏,导航栏高度
  6. * @param context
  7. * @returns
  8. */
  9. async function getWindowAvoidArea(context: common.UIAbilityContext): Promise<window.AvoidArea | null> {
  10. try {
  11. const mainWindow = await window.getLastWindow(context);
  12. const avoidAreaType = window.AvoidAreaType.TYPE_SYSTEM; // 系统默认区域,包括状态栏,导航栏
  13. const avoidArea = mainWindow.getWindowAvoidArea(avoidAreaType);
  14. const height = avoidArea.topRect.height;
  15. return avoidArea
  16. } catch (e) {
  17. console.log('getWindowAvoidArea fail');
  18. return null
  19. }
  20. }
  21. export default class MainAbility extends UIAbility {
  22. // do something
  23. async onWindowStageCreate(windowStage: window.WindowStage) {
  24. getWindowAvoidArea(this.context);
  25. windowStage.loadContent('pages/index');
  26. }
  27. // do something
  28. }

参考链接

getWindowAvoidArea

在 FAQ 中进行搜索
请输入您想要搜索的关键词