#鸿蒙通关秘籍#如何实现应用沉浸式效果中的UI元素避让处理?

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
CPV梦翼

在鸿蒙开发中,可以通过窗口全屏布局方案来实现UI元素避让处理。使用setWindowLayoutFullScreen()方法将窗口设置为全屏,通过getWindowAvoidArea()接口获取布局避让的遮挡区域,如状态栏和导航条的高度。根据获取到的导航条区域高度,动态调整界面中控件的布局,从而实现避让处理。

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

let windowClass: window.Window = windowStage.getMainWindowSync(); let isLayoutFullScreen = true; windowClass.setWindowLayoutFullScreen(isLayoutFullScreen) .then(() => { console.info('窗口全屏设置成功'); }) .catch((err: BusinessError) => { console.error('窗口全屏设置失败: ' + JSON.stringify(err)); });

let type = window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR; let avoidArea = windowClass.getWindowAvoidArea(type); let bottomRectHeight = avoidArea.bottomRect.height; AppStorage.setOrCreate('bottomRectHeight', bottomRectHeight);

分享
微博
QQ
微信
回复
2天前
相关问题