android 8.0:Caused by: java.lang.IllegalStateException: Only fullscreen opaque activities can reques

Caused by: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

只有不透明的全屏activity可以自主设置界面方向

我们的启动页面是设置了透明,同时也设置了屏幕方向为竖向,首先我们的orientation一定是要设置的了,所以那就只有不让activity透明了,但是当时为啥要让启动页面透明呢?就是为了解决应用启动时候黑屏或者白屏,所以现在要做的就是不让activity透明且让其启动时候不会有黑屏或者白屏了,有同学说直接用另外一种方式呀,就是给启动页面的style设置一个背景图片呀,但是样子在有虚拟返回键的手机上是有问题的,点击应用之后然后当启动页面展示时候,图片的尺寸会有变化,方便的同学可以试试这种方式,所以如果要使用这种方式需要适配虚拟返回键,不是一种特别好的方式。

         其实又回到了最初的问题,为啥应用启动会有黑屏或者白屏呢?这是因为用户点击应用图标之后,在应用初始化完成之前会展示一个默认的window,而这个preview window的样式取决于自己启动页的theme是怎样的了,如果是light的就是白屏,如果是black的就是黑屏了。

         所以说我们直接禁用这个默认动画不就好了么?所以将原来的windowIsTranslucent改为windowDisablePreview就能起到一样子的效果了,且应用不会崩溃了。

待研究。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值