HarmonyOS 鸿蒙Next怎么调用系统接口实现一键隐藏状态栏和导航栏

HarmonyOS 鸿蒙Next怎么调用系统接口实现一键隐藏状态栏和导航栏 文档里的接口只能隐藏标题栏,透明导航栏和状态栏,不能做到隐藏。

2 回复

可以看下翻页时钟示例应用中设置页面的全屏按钮对应的实现代码: https://gitee.com/openharmony/applications_app_samples/tree/master/code/Solutions/Tools/FlipClock

更多关于HarmonyOS 鸿蒙Next怎么调用系统接口实现一键隐藏状态栏和导航栏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙Next)中,调用系统接口实现一键隐藏状态栏和导航栏可以通过Window类的相关方法来实现。具体步骤如下:

  1. 获取Window对象:首先需要获取当前Activity的Window对象。可以通过getWindow()方法获取。

  2. 设置系统UI可见性:通过Window对象的getDecorView()方法获取View对象,然后调用setSystemUiVisibility()方法来设置系统UI的可见性。

  3. 隐藏状态栏和导航栏:使用View.SYSTEM_UI_FLAG_FULLSCREENView.SYSTEM_UI_FLAG_HIDE_NAVIGATION标志来隐藏状态栏和导航栏。

以下是示例代码:

import window from '@ohos.window';

// 获取当前窗口
let windowClass = window.getLastWindow(this.context);

// 设置系统UI可见性
windowClass.then((window) => {
    let decorView = window.getDecorView();
    decorView.setSystemUiVisibility(
        window.View.SYSTEM_UI_FLAG_FULLSCREEN | 
        window.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
    );
}).catch((err) => {
    console.error('Failed to get window or set system UI visibility', err);
});

通过上述代码,可以实现一键隐藏状态栏和导航栏。

回到顶部