HarmonyOS 鸿蒙Next 修改页面状态栏颜色及沉浸式状态属性设置
HarmonyOS 鸿蒙Next 修改页面状态栏颜色及沉浸式状态属性设置
onWindowStageCreate(windowStage: window.WindowStage): void {
windowStage.getMainWindow((err, data) => {
if (err.code) {
return
}
GlobalThis.getInstance().setObject("mainWindow",data);
// 设置全屏展示,沉浸式
data.setWindowLayoutFullScreen(true);
let sysBarProps = {
statusBarColor: '#00000000',
navigationBarColor: '#00000000',
// 以下两个属性从API Version 8开始支持A03d00/JSAPP
// statusBarContentColor: '#2B3141',
// navigationBarContentColor: '#2B3141'
} as SystemBarPropertiesType;
data.setWindowSystemBarProperties(sysBarProps)
// 获取状态栏高度
let avoidArea = data.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM);
LogUtil.info("statusBarHeight===", avoidArea.topRect.height.toString())
AppStorage.setOrCreate<number>("statusBarHeight", px2vp(avoidArea.topRect.height))
// GlobalThis.getInstance().setObject("statusBarHeight", px2vp(avoidArea.topRect.height))
})
}
4 回复
GlobalThis 这是个什么东西。哪里的啊?
data.setWindowLayoutFullScreen(true); 应该是只要这一句吧,我试了可以,不过启动的时候状态栏会闪一下,真的发现harmony的api是真难用,吹过头了。
我只加了这一句,在普通页面可以,但是到了带Web组件的页面就不行了,状态栏会灰色背景遮挡