HarmonyOS 鸿蒙Next 页面有Navigation组件时横屏操作页面不能铺满全屏

发布于 1周前 作者 yuanlaile 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 页面有Navigation组件时横屏操作页面不能铺满全屏

我是如何执行页面横竖屏操作的:

if (query.orientation === ‘portrait’) {
// 使用getLastWindow获取当前窗口
window.getLastWindow(getContext()).then((lastWindow)=>{
// 使用setPreferredOrientation实现横竖屏切换
lastWindow.setPreferredOrientation(window.Orientation.PORTRAIT);
})
} else if (query.orientation === ‘landscape’) {
// 使用getLastWindow获取当前窗口
window.getLastWindow(getContext()).then((lastWindow)=>{
// 使用setPreferredOrientation实现横竖屏切换
lastWindow.setPreferredOrientation(window.Orientation.LANDSCAPE);
})
}

我遇到的问题:

页面无法铺满全屏,只占左侧很小的一部分,效果图见附近。

初步排查:

当页面中有Navigation组件时有这个问题,去掉Navigation组件就没问题了。

Page代码:

有问题时是这样的:

Navigation() {
AppletFragment({
appInfo: this.appInfo,
page: this.page ?? undefined,
extra: this.extra ?? undefined,
closeCallbackEventId: this.closeCallbackEventId ?? undefined,
pageVisible: this.pageVisible
})
.width(‘100%’)
.height(‘100%’)
}
.title(this.title ?? ‘’)
.titleMode(NavigationTitleMode.Mini)
.hideBackButton(false)
.hideNavBar(false)
.hideToolBar(false)
.hideTitleBar(this.hasToolbar() ? false : true)
.backgroundColor(this.backColor())
.foregroundColor(this.foreColor())

去掉Navigation组件就没问题了

1 回复

针对HarmonyOS 鸿蒙Next页面有Navigation组件时横屏操作页面不能铺满全屏的问题,这通常是由于Navigation组件的布局设置或全屏设置未正确配置导致的。

首先,请确保在页面的布局中,Navigation组件及其内部元素已正确设置为全屏。检查Navigation组件的width和height属性是否设置为’100%’,并确保没有其他布局元素或样式影响全屏效果。

其次,检查是否在onWindowStageCreate方法中正确调用了全屏设置函数,如setWindowLayoutFullScreen(true)。同时,确认应用是否支持全屏模式,并检查是否有其他系统限制或错误导致全屏设置无效。

此外,如果设置了状态栏或导航栏的显示,需要调整相关设置以适配全屏。可以尝试隐藏状态栏和导航栏,或者设置沉浸式状态栏来查看是否解决问题。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部