哈哈柚
哈哈柚
  • 发布:2021-12-06 20:18
  • 更新:2023-08-05 20:15
  • 阅读:1628

【报Bug】onLaunch时 plus.screen.lockOrientation('portrait-primary') 屏幕锁定无效

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 10

HBuilderX类型: 正式

HBuilderX版本号: 3.2.16

手机系统: Android

手机系统版本号: Android 11

手机厂商: 小米

手机机型: 小米10至尊 miui12.5.21.11.3开发版

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
onLaunch: function() {  
            console.log('App Launch');  
            plus.screen.lockOrientation('portrait-primary');  
}

操作步骤:

1.手机横着放,打开官方应用,页面错乱

  1. 手机竖屏放置,打开官方应用,显示正常。

预期结果:

应用正常显示

实际结果:

未能正常判断屏幕方向

bug描述:

虽然配置了,plus.screen.lockOrientation('portrait-primary');,但是因为手机本身没有进行屏幕锁定,所以未能正确的判断屏幕尺寸。
操作步骤(手机本身未开启方向锁定)(app为官方Android版hello uni-app。自己创建的应用测试也存在同样问题):
1.手机横着放,打开官方应用,页面错乱。怀疑未能正确判断宽高。

  1. 手机竖屏放置,打开官方应用,显示正常。
    详情见zip视频
2021-12-06 20:18 负责人:DCloud_Android_ST 分享
已邀请:
DCloud_Android_ST

DCloud_Android_ST

请确保模板提供的信息都是准确的 如果不准确会导致我们无法正常排查问题。目前看你的截图信息并不能保证。所以你需要提供云打包信息我们查一下或者可以复现问题的app.

  • 哈哈柚 (作者)

    已在下方提供基础代码。可直接运行到手机进行查看。视频操作上第一次正常握持手机,第二次将手机横置。

    2021-12-07 19:51

哈哈柚

哈哈柚 (作者)

分别为视频和代码。
复现步骤:
创建一个uni-app默认模板。将首页vue改为nvue,app.vue中新增

plus.screen.lockOrientation('portrait-primary');

详见test-1207zip包。

  • DCloud_Android_ST

    收到 我们测试下

    2021-12-07 19:57

  • 哈哈柚 (作者)

    回复 DCloud_Android_ST: 好的,https://uniapp.dcloud.io/README 官方快速体验中的安卓版本,横屏放置也会出现类似的问题,如第一次视频那样。

    2021-12-07 20:00

DCloud_UNI_GSQ

DCloud_UNI_GSQ

启用 dynamicRpx,可让 rpx 适配屏幕方向或大小的变化

  • 哈哈柚 (作者)

    感谢,但测试后发现不能解决所描述问题。我本身在manifest.json配置了 "screenOrientation" : [ "portrait-primary" ],也在app.vue里写了 plus.screen.lockOrientation('portrait-primary');但是app启动的时候手机是横屏放置的。进入应用后页面是竖屏排版,但是从结果来看,似乎是以屏幕高度作为了屏幕宽度为750rpx来计算。配置dynamicRpx:true后,首页也没有再次进行重新计算排版(动态 rpx,屏幕大小变化会重新渲染 rpx ),似乎没触发变化

    2021-12-14 20:41

  • DCloud_UNI_GSQ

    回复 k***@makeitbetter.cn: 只在 manifest.json 配置 screenOrientation 未成功锁定竖屏吗?

    2021-12-14 20:53

  • DCloud_UNI_GSQ

    另外你的 dynamicRpx 没配置错位置吧

    2021-12-14 20:54

  • DCloud_Android_ST

    回复 k***@makeitbetter.cn: 你云打包是了没 配置dynamicRpx=true 在要在globalStyle中配置

    2021-12-15 12:42

小太阳ing

小太阳ing -

请问下是否解决?

7***@qq.com

7***@qq.com

都2023年了 还没解决

1***@qq.com

1***@qq.com - 专属浅喜

请问 v2 禁止横屏 解决了吗 楼主

s***@startsmart.com.cn

s***@startsmart.com.cn

解决了没?

z***@163.com

z***@163.com - 11

什么版本解决这个问题?

jiojio213

jiojio213

1年又1年

要回复问题请先登录注册