3***@qq.com
3***@qq.com
  • 发布:2020-06-18 18:31
  • 更新:2023-07-25 10:07
  • 阅读:3224

uni APP如何 如何在启动应用的时候 判断当前移动端是横屏启动还是竖屏启动, 如果是横屏启动,则锁定横屏模式,如果是竖屏启动则锁定竖屏模式?

分类:nvue

有这需求的原因是, 希望APP可以横屏和竖屏显示
本项目的页面全是NVUE页面,当在pagejson中配置 根据重力感应 自动切换横竖屏 时 代码如下

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

会出现
第一种情况:应用如果是横屏启动,那APP启动之后,如果一直横屏 , 样式没有受到影响. 但是一旦屏幕竖过来放,样式全乱了.
第二种情况: 应用如果是竖屏启动,那APP启动之后,如果一直竖屏,样式也不存在问题. 但是一旦屏幕横过来,样式全乱了.

请教官方 和 大神 这种情况如何 处理 , 可以达到 横屏样式的时候,不论手机是竖着还是横着,都不会对样式产生影响. 竖屏样式的时候,不论手机是竖着还是横着也不会对样式产品影响.
或者可以在应用内 根据根据用户的横竖屏,自动切换样式,并且样式不会变形.

2020-06-18 18:31 负责人:无 分享
已邀请:
3***@qq.com

3***@qq.com (作者)

1111111111111111111111111111111111111111

3***@qq.com

3***@qq.com (作者)

2222222222222222222222222222222222

l***@139.com

l***@139.com

UNI API和5+ API中都没有获取当前屏幕方向的接口,你可以试试判断当前页面的宽度和高度,宽度大于高度就是横屏,反之就是竖屏,这样就可以调用相应的样式了。

  • 3***@qq.com (作者)

    试过这个方案, 不可行.多谢


    2020-06-23 13:25

  • l***@139.com

    回复 3***@qq.com: 更换样式后可以试试reLaunch下页面


    2020-06-24 22:26

  • 3***@qq.com (作者)

    回复 l***@139.com: 试过 不行。 只有启动的时候 开启了重力感应旋转屏幕 这样才能 保证样式是正确的。


    2020-07-24 19:09

3***@qq.com

3***@qq.com (作者)

3333333333333333333333333333333333

l***@139.com

l***@139.com

不好意思,更正下,5+ API中有判断屏幕方向的接口,以免误导大家(汗,了解不全面,贻笑大方了)。
Number plus.navigator.getOrientation();
Number : 屏幕方向数值: 0 - 竖屏; 90 - 横屏,HOME键在右; 180 - 反向竖屏; -90 - 反向横屏,HOME'键在左。
http://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.getOrientation

  • 3***@qq.com (作者)

    感谢,不过就算有这个判断 也实现不了 对应的需求


    2020-06-30 11:46

Olown

Olown

顶!!!

3***@qq.com

3***@qq.com (作者)

4444444444444444444444444444444444444444

3***@qq.com

3***@qq.com (作者)

55555555555555555555 官方的大神0.0 求方案

3***@qq.com

3***@qq.com (作者)

666666666666666666666666666

罗马队长

罗马队长

在pages.json中globalStyle节点设置以下属性即可

"pageOrientation": "portrait",//固定竖屏
3***@qq.com

3***@qq.com (作者)

77777777777777777777777777777

3***@qq.com

3***@qq.com (作者)

88888888888888888888888888

Qyh

Qyh

你好,解决了吗

要回复问题请先登录注册