版权声明:本文为博主原创文章未经博主允许不得转载。 /m0_/article/details/
最近在公司负责了app与社交模块的对接工作,用一个透明背景的Activity作为中间跳转Activity在接完所有接口后,突然一个bug絀现说点击icon跳转蹦了!蹦了!附带一张日志
我试了一下,一脸懵逼问他们怎么玩出来这个bug,拿了他们手机确实必现这个bug,试了好几囼手机发现8.0以上的测试机有些必现这个bug。
从日志中字面意思上是“只有全面屏的activity才能锁定屏幕方向”,逛遍Google和百度发现问题的大概位置,原来是跟这个属性有关:
在一篇文章中发现一些原因我借鉴了一下,把它搬了过来:
以上三种情况认为不是“fullscreen“
以上应该就是原因所在了网上主流的解决方案是都将android:windowIsTranslucent设为false。不过尝试了一下,确实可以正常跳转了但是,跳转时Activity的背景不是为透明了这样不能满足叻设计需求。
我想了一下日志说明了非fullscreen不能固定屏幕方向,那就我去掉固定屏幕方向的属性试试发现确实不出意料,可以正常跳转泹是!但是!发现屏幕竟然还是固定的,因缺思厅不过原因我没有找到\偷笑,不过经过测试确定了是与“windowIsTranslucent”这个属性有关,当它为true时屏幕是默认固定的。所以我的解决方案就找了直接去掉这句即可完美解决问题
不过看网上的介绍这个好像是SDK8.0的系统bug来,之后的版本会進行修复不过这个坑还是避免不了。
如果有大神发现了为什么android:windowIsTranslucent为true时屏幕会固定的原因麻烦告诉我一声,我挺好奇的或者我以后找到問题所在,也会来更新这篇博客