HarmonyOS 鸿蒙Next沉浸光感HdsTabs控制全屏
HarmonyOS 鸿蒙Next沉浸光感HdsTabs控制全屏 文档中沉浸光感中控制全屏显示的代码是哪一行,可以给指出吗?
配置窗口全屏模式
在 EntryAbility 中,通过 setWindowLayoutFullScreen()方法将窗口设置为全屏布局,隐藏系统状态栏和导航栏,为应用内容提供完整的屏幕空间。
// EntryAbility.ets
import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit';
import { window } from '@kit.ArkUI';
import { BusinessError } from '@kit.BasicServicesKit';
export default class EntryAbility extends UIAbility {
private windowStage: window.WindowStage | null = null;
onWindowStageCreate(windowStage: window.WindowStage): void {
this.windowStage = windowStage;
windowStage.loadContent('pages/Index', (err) => {
if (err.code) {
console.error('Failed to load content:', JSON.stringify(err));
return;
}
console.info('Succeeded in loading content.');
this.setFullScreen(windowStage);
});
}
private async setFullScreen(windowStage: window.WindowStage): Promise<void> {
try {
const mainWindow = await windowStage.getMainWindow();
await mainWindow.setWindowLayoutFullScreen(true);
console.info('Succeeded in setting window full screen.');
} catch (error) {
console.error('Failed to set window full screen, error code: ' + (error as BusinessError).code);
}
}
}
更多关于HarmonyOS 鸿蒙Next沉浸光感HdsTabs控制全屏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
学习了
看看是不是你想要的:
expandSafeArea:安全区域-布局与边框-通用属性-ArkTS组件-ArkUI
在HarmonyOS Next中,实现HdsTabs沉浸全屏控制:通过 windowStage.getMainWindowSync().setWindowLayoutFullScreen(true) 开启全屏布局,使用 setWindowSystemBarEnable 或 setWindowSystemBarProperties 调整状态栏/导航栏透明度与颜色。HdsTabs组件需设置 width('100%') 和 layoutWeight(1) 适配全屏区域。
在鸿蒙 Next 的沉浸光感示例中,控制全屏显示的代码通常是通过 window.setWindowLayoutFullScreen(true) 实现的,该调用一般位于 EntryAbility 的 onWindowStageCreate 方法体内。
例如:
onWindowStageCreate(windowStage: window.WindowStage): void {
let windowClass: window.Window = null;
windowStage.getMainWindow((err, data) => {
if (err.code) {
console.error('Failed to obtain the main window.');
return;
}
windowClass = data;
// 控制全屏显示的代码(即这一行)
windowClass.setWindowLayoutFullScreen(true);
});
}
如果示例中使用了 HdsTabs,全屏效果也依赖于该设置,状态栏和导航栏会被隐藏,实现沉浸式体验。

