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

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

HarmonyOS
2024-07-25 09:50:45
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
热辣牛奶

为了获取系统状态栏、导航栏等避让区域,推荐利用系统提供的`getWindowAvoidArea`接口来获取系统的规避区域。该接口返回的数值中,`topRect.height`参数将直接指示系统状态栏的高度。以下是一段参考代码示例,用于演示如何调用此接口并获取相关信息:

// MainAbility.ets
import { common, UIAbility } from '@kit.AbilityKit';
import { window } from '@kit.ArkUI';

/**

获取系统状态栏,导航栏高度

* @param context
 * @returns
 */
async function getWindowAvoidArea(context: common.UIAbilityContext): Promise<window.AvoidArea | null> {
  try {
    const mainWindow = await window.getLastWindow(context);

系统默认区域,包括状态栏,导航栏

const avoidArea = mainWindow.getWindowAvoidArea(avoidAreaType);
    const height = avoidArea.topRect.height;
    return avoidArea
  } catch (e) {
    console.log('getWindowAvoidArea fail');
    return null
  }
}

export default class MainAbility extends UIAbility {
  // do something
  async onWindowStageCreate(windowStage: window.WindowStage) {
    getWindowAvoidArea(this.context);
    windowStage.loadContent('pages/index');
  }
  // do something
}
分享
微博
QQ
微信
回复
2024-07-25 19:34:52
相关问题
如何获取状态栏导航高度
2727浏览 • 1回复 待解决
鸿蒙如何获取导航状态栏高度
11160浏览 • 1回复 待解决
获取状态栏导航高度
413浏览 • 1回复 待解决
HarmonyOS 如何获取系统状态栏高度
537浏览 • 1回复 待解决
如何设置状态栏导航颜色
2623浏览 • 1回复 待解决
状态栏底部触控高度获取
413浏览 • 2回复 待解决
HarmonyOS 如何获取状态栏高度
306浏览 • 1回复 待解决
沉侵式状态栏获取状态栏高度为0
231浏览 • 1回复 待解决
获取状态栏高度方法
1790浏览 • 1回复 待解决
状态栏高度怎么获取
9489浏览 • 3回复 待解决
HarmonyOS API获取状态栏高度
130浏览 • 1回复 待解决
求大佬告知如何获取状态栏高度
2072浏览 • 1回复 待解决
获取状态栏高度等方法
7881浏览 • 1回复 待解决
有谁知道如何获取状态栏高度
2092浏览 • 1回复 待解决