C页竖屏写法为
onShow(){
plus.screen.lockOrientation('portrait-primary');//强制竖屏
},
onUnload() {
plus.screen.lockOrientation('landscape-primary');//强制横屏
}
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10 企业版 17763.914
HBuilderX类型: 正式
HBuilderX版本号: 3.1.2
手机系统: Android
手机系统版本号: Android 10
手机厂商: 华为
手机机型: 华为平板M6
页面类型: vue
打包方式: 离线
项目创建方式: HBuilderX
C页竖屏写法为
onShow(){
plus.screen.lockOrientation('portrait-primary');//强制竖屏
},
onUnload() {
plus.screen.lockOrientation('landscape-primary');//强制横屏
}
onShow(){
plus.screen.lockOrientation('portrait-primary');//强制竖屏
},
onUnload() {
plus.screen.lockOrientation('landscape-primary');//强制横屏
}
第二次加载 横屏样式错乱
APP为平板定制应用 大部分页面横屏 只有一页是竖屏
app.vue
onLaunch: function() {
plus.screen.lockOrientation('landscape-primary'); //强制横屏
},
A页[横屏]正常 => B页[横屏]正常 => C页[竖屏]正常
返回 C页[竖屏]正常 => B页[横屏]正常 => A页[横屏]正常 再次进入 => B页[横屏]样式错乱
返回页面样式正常 第二次加载就样式错乱 第三次加载则正常
C页竖屏写法为
onShow(){
plus.screen.lockOrientation('portrait-primary');//强制竖屏
},
onUnload() {
plus.screen.lockOrientation('landscape-primary');//强制横屏
}
zzssd
onShow(){
setTimeout(()=>{
// 为什么要延迟横屏,再加载weView呢?
// 那是因为,uni-app转安卓有个很严重的bug。这个单个页面需要强制横屏,在onLoad,onReady,onShow阶段横屏都会导致它之前或者之后的页面产生布局异常(无解)
// 所以必须延迟等这个页面所有东西加载完成了,再设置横屏。所以设置了延迟800毫秒再横屏。
plus.screen.lockOrientation('landscape-primary')
// 但是wb-view也需要在加载资源的时候获取横屏的宽高来进行布局。所以为了获取到的是横屏后的宽高,也要在横屏后再渲染web-view
this.canStartWeb = true
},1000)
},
2021-12-06 14:43