HarmonyOS 鸿蒙Next状态栏怎么控制显示与隐藏,设置状态栏颜色、子颜色等控制,希望有API直接操作
HarmonyOS 鸿蒙Next状态栏怎么控制显示与隐藏,设置状态栏颜色、子颜色等控制,希望有API直接操作
显示与隐藏可以设置沉浸式,隐藏的话可以退出沉静式,参考代码:
在子窗口打开的页面 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([])
})
}
设置状态栏的背景: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。