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

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

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
相关问题
如何获取状态栏导航高度
2919浏览 • 1回复 待解决
鸿蒙如何获取导航状态栏高度
11423浏览 • 1回复 待解决
获取状态栏导航高度
647浏览 • 1回复 待解决
如何获取状态栏导航高度
247浏览 • 0回复 待解决
HarmonyOS 如何获取系统状态栏高度
835浏览 • 1回复 待解决
状态栏底部触控高度获取
905浏览 • 2回复 待解决
如何设置状态栏导航颜色
2945浏览 • 1回复 待解决
HarmonyOS 如何获取状态栏高度
626浏览 • 1回复 待解决
获取状态栏高度方法
1987浏览 • 1回复 待解决
沉侵式状态栏获取状态栏高度为0
395浏览 • 1回复 待解决
HarmonyOS 如何获取手机状态栏高度
177浏览 • 1回复 待解决
HarmonyOS API获取状态栏高度
303浏览 • 1回复 待解决
状态栏高度怎么获取
9679浏览 • 3回复 待解决
求大佬告知如何获取状态栏高度
2376浏览 • 1回复 待解决
获取状态栏高度等方法
8090浏览 • 1回复 待解决
有谁知道如何获取状态栏高度
2243浏览 • 1回复 待解决