OpenHarmony开发者论坛
标题:
如何获取状态栏和导航栏高度
[打印本页]
作者:
汐之蓝
时间:
2023-10-13 15:27
标题:
如何获取状态栏和导航栏高度
【问题描述】
最近在做屏幕高度适配时,发现了一些问题,我需要获取高度的大小,分析可使用的区域。如何获取状态栏和导航栏高度?
【运行环境】
硬件:rk3568; ROM: 3.2 Beta5; API 9
作者:
Travill
时间:
2023-10-16 15:22
标题:
如何获取状态栏和导航栏高度
在加载窗口内容之前,采用systemAvoidAreaChange事件监听。
// MainAbility.ts
import window from '@ohos.window';
/**
* 设置沉浸式窗口,并获取状态栏和导航栏高度
* @param mainWindow 主窗口对象
*/
async function enterImmersion(mainWindow: window.Window) {
mainWindow.on("systemBarTintChange", (data) => {
let avoidAreaRect = data.regionTint[0].region; //data.regionTint是个数组,包含状态栏、导航栏的矩形区域坐标。
})
await mainWindow.setFullScreen(true)
await mainWindow.setSystemBarEnable(["status", "navigation"])
await mainWindow.systemBarProperties({
navigationBarColor: "#00000000",
statusBarColor: "#00000000",
navigationBarContentColor: "#FF0000",
statusBarContentColor: "#FF0000"
})
}
export default class MainAbility extends Ability {
// do something
async onWindowStageCreate(windowStage: window.WindowStage) {
let mainWindow = await windowStage.getMainWindow()
await enterImmersion(mainWindow)
windowStage.loadContent('pages/index')
}
// do something
}
复制代码
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5