统设置中“自动转屏“设置跟app中Activity设置横竖屏之间的影响

  对于横竖屏设置,网上介绍的很多,这里主要说下系统设置中“自动转屏“设置跟
app中Activity设置横竖屏之间的影响:
 
现说下下面两点
1:优先级:Activity设置横竖屏 高于 系统设置中“自动转屏“设置;
 
2:Activity的横竖屏设置信息是保存在ActivityINfo对象中,ActivityINfo的横
竖屏默认值是 screenOrientation = SCREEN_ORIENTATION_UNSPECIFIED而不是
SCREEN_ORIENTATION_SENSOR。
 
基于以上两点可以衍生出以下几点(经过代码验证):
1、只有当Activity持有的对象ActivityINfo:screenOrientation =
SCREEN_ORIENTATION_UNSPECIFIED时,系统设置中“自动转屏“设置才会对APP中的
Activity窗口显示起作用;
 
2、当Activity需要自由设置横竖屏状态,且已经通过setRequestedOrientation设
置后,又想恢复自动转屏交由系统控制,此时应该
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
而不是
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在uniapp,可以通过以下步骤来设置或竖: 1. 在manifest.json文件设置幕方向,如下所示: ```json "plus": { "orientation": "portrait" }, ``` 其,orientation可以设置为portrait(竖)或landscape(横)。 2. 在App.vue设置样式,如下所示: ```css <style> .page { width: 100vw; height: 100vh; overflow: hidden; } .page.landscape { transform: rotate(90deg); transform-origin: 50% 50%; width: 100vh; height: 100vw; } </style> ``` 其,.page是页面的样式,可以根据实际情况进行修改。.page.landscape是横状态下的样式,使用transform属性进行旋转,并设置宽高和transform-origin属性。 3. 在需要横的页面,使用以下代码来切换样式: ```javascript export default { mounted() { this.$nextTick(() => { if (window.plus) { // 横 plus.screen.lockOrientation('landscape'); document.documentElement.classList.add('landscape'); } }); }, beforeDestroy() { if (window.plus) { // 竖 plus.screen.unlockOrientation(); document.documentElement.classList.remove('landscape'); } } } ``` 其,mounted和beforeDestroy是页面生命周期钩子函数,用于在页面加载和销毁时进行操作。plus.screen.lockOrientation('landscape')用于锁定幕方向,document.documentElement.classList.add('landscape')用于切换样式。同理,plus.screen.unlockOrientation()和document.documentElement.classList.remove('landscape')用于解锁幕方向和恢复样式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值