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

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

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
相关问题
鸿蒙如何获取导航状态栏高度
10872浏览 • 1回复 待解决
如何获取状态栏导航高度
2417浏览 • 1回复 待解决
获取状态栏导航高度
194浏览 • 1回复 待解决
HarmonyOS 如何获取系统状态栏高度
72浏览 • 1回复 待解决
如何设置状态栏导航颜色
2212浏览 • 1回复 待解决
获取状态栏高度方法
1529浏览 • 1回复 待解决
状态栏高度怎么获取
9236浏览 • 3回复 待解决
求大佬告知如何获取状态栏高度
1780浏览 • 1回复 待解决
获取状态栏高度等方法
7693浏览 • 1回复 待解决
有谁知道如何获取状态栏高度
1799浏览 • 1回复 待解决
如何实现沉浸式状态栏
189浏览 • 1回复 待解决
如何设置沉浸式状态栏
2064浏览 • 1回复 待解决
Dialog如何覆盖状态栏全屏显示
9955浏览 • 1回复 待解决
ets开发如何设置隐藏状态栏
2900浏览 • 1回复 待解决