前言
本文将深入探讨鸿蒙PC如何通过沉浸式设计提升用户专注度。无论是高效办公、创意设计,还是娱乐休闲,鸿蒙PC都能通过灵活的界面调整、智能的任务管理和丰富的交互模式,让用户真正"掌控"自己的数字空间。
环境
- DevEco Studio
- 2in1模拟器
沉浸式实现
首先创建一个实例项目,运行在2in1设备中效果如下

实现沉浸式很简单,我们只需要调用window的maximize方法
Ts
// EntryAbility.ets
onWindowStageCreate(windowStage: window.WindowStage): void {
const winClass = windowStage.getMainWindowSync();
winClass.maximize();
windowStage.loadContent('pages/Index').then(() => {
});
}

这个时候我们发现,鼠标移入在上下热区上会显示显示窗口标题栏和dock栏。

如果想要去掉移入热区显示,则需要在调用maximize的时候,传入参数名称 :
参数 | 值 | 说明 |
---|---|---|
FOLLOW_APP_IMMERSIVE_SETTING | 0 | 最大化时,跟随应用app当前设置的沉浸式布局。元服务API: 从API version 12开始,该接口支持在元服务中使用。 |
EXIT_IMMERSIVE | 1 | 最大化时,如果当前窗口设置了沉浸式布局会退出沉浸式布局。元服务API: 从API version 12开始,该接口支持在元服务中使用。 |
ENTER_IMMERSIVE | 2 | 最大化时,进入沉浸式布局,鼠标Hover在热区上显示窗口标题栏和dock栏。元服务API: 从API version 12开始,该接口支持在元服务中使用。 |
ENTER_IMMERSIVE_DISABLE_TITLE_AND_DOCK_HOVER14+ | 3 | 最大化时,进入沉浸式布局,鼠标Hover在热区上不显示窗口标题栏和dock栏。元服务API: 从API version 14开始,该接口支持在元服务中使用。 |
Ts
onWindowStageCreate(windowStage: window.WindowStage): void {
const winClass = windowStage.getMainWindowSync();
winClass.maximize(window.MaximizePresentation.ENTER_IMMERSIVE_DISABLE_TITLE_AND_DOCK_HOVER);
windowStage.loadContent('pages/Index').then(() => {
});
}
最终效果
