cdchen1991@163.com
cdchen1991@163.com
  • 发布:2019-09-25 22:54
  • 更新:2020-08-26 11:48
  • 阅读:768

【报Bug】利用plus api锁死屏幕为竖屏后,手机本身没有锁竖屏情况下横屏启动应用,所有vue页面显示正常,nvue页面尺寸错乱

分类:uni-app

详细问题描述

项目开发采用vue+nvue组合的方式,实际情景需要锁死全部使用场景为竖屏。在App.vue的onLaunch中使用了plus.screen.lockOrientation('portrait-primary')来进行屏幕方向锁定,当手机自身设置没有强制竖屏时,放置手机为横屏启动,所有vue页面可以正确显示,但nvue页面无法正常显示,尺寸错乱,使用的rpx单位应该是根据横屏时的屏幕宽度取的值。这个bug很致命,希望尽快修复

重现步骤

app中两个不同的页面a和b,a是vue页面,使用rpx作为单位,b是nvue页面,使用rpx作为单位。页面中的所有元素宽度都不超过750rpx.
在App.vue的onLaunch中使用了plus.screen.lockOrientation('portrait-primary')来进行屏幕方向锁定。
当手机正常放置为竖屏启动时,vue和nvue页面都可以正常展示。
当手机自身设置没有强制竖屏时,放置手机为横屏,启动app,所有vue页面可以正确显示,但nvue页面无法正常显示,尺寸错乱,使用的rpx单位应该是根据横屏时的屏幕宽度取的值。

2019-09-25 22:54 负责人:无 分享
已邀请:
爱祺

爱祺 - 前端工程师

怎么和我的情况一样 能否加个微信沟通一下18602015575

DCloud_UNI_GSQ

DCloud_UNI_GSQ

改用pages.json配置锁定屏幕:

"globalStyle": {  
"pageOrientation": "portrait", /////默认竖屏锁定portrait  
}
  • maple

    你好,我试了你的方法,可以了,但是有新的问题。就是在ios上所有布局和大小都是正确的,但是在安卓机上所有元素都好像是放大了2倍。该如何解决。你们自己可以新建一个uniapp的工程,页面中放一个按钮,用rpx单位。

    2020-05-23 22:03

maple

maple

用这个没有效果
云打包自定义安装包,用"screenOrientation": "landscape-primary" 没有效果

然后我用plus.screen.lockOrientation('landscape-primary');也是没有效果 (这个方法在hbuilder基座上可以有效果,但是云打包后没用,手机一直都是竖屏)

827131537@qq.com

827131537@qq.com

问题解决了吗?

要回复问题请先登录注册