解决android8的Only fullscreen opaque activities can request orientation的问题

这问题是由于activity主题设置了背景透明

<item name="android:windowIsTranslucent">true</item>

然后界面在AndroidManifest或代码里面设置了屏幕方向

android:screenOrientation="portrait"

这是Android8才有的bug。前提,如果你一定要界面透明,有一定想要界面时竖直,下面的办法能解决大部分情况。


方法一:

android:screenOrientation="behind"

界面的屏幕方向设置behind,这个代码界面会跟随上一个界面的方向。除非你上一个界面方向是横屏,或者你要打开的这个界面就是整个app的第一个界面,要不这方法都OK。

方法二:

android:screenOrientation="nosensor"

也许你只是想界面不跟着系统旋转就行,那你可以设置nosensor, 这属性就是:旋转设备时候,界面不会跟着旋转。初始化界面方向由系统控制。

意思即使,你打开这个界面时,你的系统当前是竖屏,界面打开就会是竖屏,横屏即横屏,且界面打开后不会再跟着系统旋转。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值