OpenHarmony菜单隐藏功能的用法
一 使用场景与总览
二 在 ArkUI 中隐藏页面菜单与标题栏
@Entry
@Component
struct HomePage {
build() {
Navigation({
title: '首页',
menus: [
{ value: '搜索', icon: $r('app.media.ic_search'), action: () => {} },
{ value: '设置', icon: $r('app.media.ic_settings'), action: () => {} }
],
toolBar: { items: [{ value: '编辑', icon: $r('app.media.ic_edit') }] },
titleMode: NavigationTitleMode.Mini,
mode: NavigationMode.Split
}) {
// 页面内容
Column() { Text('内容区域').fontSize(20) }.padding(12)
}
.hideTitleBar(true) // 隐藏标题栏
.hideToolBar(true) // 隐藏工具栏
.hideBackButton(true) // 隐藏返回键(Mini 模式)
.hideNavBar(false) // 分栏时是否隐藏导航栏
}
}
上述属性与行为适用于 API 8+,其中 hideNavBar / navBarWidth / navBarPosition 自 API 9+ 提供。三 隐藏系统状态栏与导航栏
import window from '@ohos.window';
import { BusinessError } from '@ohos.base';
// 建议在 onWindowStageCreate 中获取并缓存主窗口
windowStage.getMainWindow().then((win: window.Window) => {
AppStorage.setOrCreate('mainWindow', win);
}).catch((err: BusinessError) => {
console.error('获取主窗口失败:' + JSON.stringify(err));
});
function setSystemBarVisible(names: Array<'status' | 'navigation'>) {
const win = AppStorage.get('mainWindow') as window.Window;
win.setWindowSystemBarEnable(names, (err: BusinessError) => {
if (err.code) {
console.error('设置系统栏可见性失败:' + JSON.stringify(err));
return;
}
console.info('系统栏显示/隐藏设置成功');
});
}
// 调用示例:隐藏状态栏与导航栏
setSystemBarVisible([]); // 传空数组即隐藏两者
// 仅隐藏导航栏:setSystemBarVisible(['status'])
// 仅隐藏状态栏:setSystemBarVisible(['navigation'])
说明:该方法仅影响系统级状态栏/导航栏,不影响页面内 Navigation 的菜单与标题栏。四 常见问题与限制
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。