HarmonyOS 鸿蒙Next状态栏怎么控制显示与隐藏,设置状态栏颜色、子颜色等控制,希望有API直接操作

发布于 1周前 作者 yuanlaile 来自 鸿蒙OS

HarmonyOS 鸿蒙Next状态栏怎么控制显示与隐藏,设置状态栏颜色、子颜色等控制,希望有API直接操作

鸿蒙next状态栏怎么控制显示于隐藏,设置状态栏颜色,子颜色等控制,希望有api直接操作

2 回复

显示与隐藏可以设置沉浸式,隐藏的话可以退出沉静式,参考代码:

在子窗口打开的页面 aboutToAppear 方法中设置沉浸式

aboutToAppear(): void {

// 设置沉浸式

window.getLastWindow(getContext(this), (err, windowBar) => {

windowBar.setWindowLayoutFullScreen(true);

// windowBar.setWindowSystemBarEnable([])

})

}

aboutToDisappear(): void {

// 退出沉浸式

window.getLastWindow(getContext(this), (err, windowBar) => {

windowBar.setWindowLayoutFullScreen(false);

// windowBar.setWindowSystemBarEnable([])

})

}

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window#setwindowlayoutfullscreen9

设置状态栏的背景:SystemBarProperties,参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-V5#setwindowsystembarproperties9

或者使用

  onWindowStageCreate(windowStage: window.WindowStage): void {

    // Main window is created, set main page for this ability

    hilog.info(0x0000, ‘testTag’, ‘%{public}s’, ‘Ability onWindowStageCreate’);

    windowStage.loadContent(‘pages/APage’, (err) => {

      if (err.code) {

        hilog.error(0x0000, ‘testTag’, ‘Failed to load the content. Cause: %{public}s’, JSON.stringify(err) ?? ‘’);

        return;

      }

      windowStage.getMainWindowSync().setWindowBackgroundColor(’#00ff33’) ##此处添加

      hilog.info(0x0000, ‘testTag’, ‘Succeeded in loading the content.’);

    });

  }

在HarmonyOS鸿蒙Next中,控制状态栏的显示与隐藏以及设置状态栏颜色、文字颜色等,可以通过API直接操作。

要控制状态栏的显示与隐藏,可以利用Scroll组件的滚动事件onScroll,结合透明度设置实现显隐效果。具体做法是,在置顶位置使用Stack组件添加两层状态栏,通过获取Scroll的偏移量计算透明度,并设置状态栏组件的透明度。

要设置状态栏颜色及文字颜色,可以使用setWindowSystemBarProperties方法。该方法允许设置状态栏的背景颜色(statusBarColor)和文字颜色(statusBarContentColor)。

示例代码如下(部分):

import { window } from '@kit.ArkUI';

let sysBarProps: window.SystemBarProperties = {
    statusBarColor: '#000000',
    statusBarContentColor: '#ffffff'
};

this.mainWin.setWindowSystemBarProperties(sysBarProps, (err) => {
    if (err.code) {
        console.error('Failed to set the system bar properties.');
        return;
    }
    console.info('Succeeded in setting the system bar properties.');
});

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部