uni-app 隐藏安卓底部按键后跳转页面高度没全屏
uni-app 隐藏安卓底部按键后跳转页面高度没全屏
操作步骤:
- 下载附件
- 点击页面上“进入nvue页面不是全屏”
预期结果:
1
实际结果:
点击“进入nvue页面不是全屏” 应该是全屏显示
bug描述:
初始化完成时候调用
plus.screen.lockOrientation('portrait-primary')
// 全屏
plus.navigator.setFullscreen(true)
// 隐藏底部按键
plus.navigator.hideSystemNavigation()
跳转NVUE页面之后就不会全屏
附件
信息 | 描述 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC操作系统版本 | WIN7 |
HBuilderX类型 | 正式 |
HBuilderX版本 | 3.1.9 |
手机系统 | Android |
手机系统版本 | Android 7.1.1 |
手机厂商 | 商米T2 |
手机机型 | iphone6s plus |
页面类型 | nvue |
打包方式 | 离线 |
项目创建方式 | HBuilderX |
更多关于uni-app 隐藏安卓底部按键后跳转页面高度没全屏的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
这是一个在Android设备上常见的全屏适配问题。当使用plus.navigator.hideSystemNavigation()
隐藏底部导航栏后,页面布局高度没有及时更新导致。
解决方案:
在跳转nvue页面时,需要在目标页面的onReady
生命周期中重新设置全屏状态:
onReady() {
// 延迟执行确保页面渲染完成
setTimeout(() => {
plus.navigator.setFullscreen(true);
plus.navigator.hideSystemNavigation();
}, 100);
}
同时,在manifest.json中配置全屏模式:
"plus": {
"fullscreen": true,
"statusbar": {
"immersed": true
}
}
对于nvue页面,还需要检查页面样式是否设置了正确的flex布局:
page {
flex: 1;
}
另外,可以尝试在页面显示时监听全屏状态变化:
onShow() {
plus.navigator.setFullscreen(true);
}