打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Android app targetSdk升级到27碰到的一个bug补充说明

版权声明:本文为xing_star原创文章,转载请注明出处!

本文同步自http://javaexception.com/archives/203

完美解决google nexus设备全面屏主题crash问题

前面有一篇文章,记录了我在app升级到targetSdk 27中,出现的bug,文章位于 http://javaexception.com/archives/184 。

问题很奇怪,只在google nexus上出现,经过对特定的关键词搜索,在stackoverflow上找到了一篇有价值的文章 https://stackoverflow.com/questions/48072438/java-lang-illegalstateexception-only-fullscreen-opaque-activities-can-request-o

在我的app中,设置的全屏主题样式如下:

<style name="AppTheme.NoActionBar.Fullscreen" parent="AppTheme.NoActionBar">    <item name="android:windowBackground">@android:color/transparent</item>    <item name="android:colorBackgroundCacheHint">@android:color/transparent</item>    <item name="android:windowIsTranslucent">true</item>    <item name="android:windowFullscreen">true</item></style>

这个回答https://stackoverflow.com/a/52964692/5279354 下面有一个很有价值的评论回复。

To anyone else who stumbles upon this “fix” I had to set <item name="android:windowIsTranslucent">false</item> and also had to set <item name="android:windowIsFloating">false</item> before it would work.

按照这个说法,需要调整下全屏的主题样式,修改后的结果是

<style name="AppTheme.NoActionBar.Fullscreen" parent="AppTheme.NoActionBar">    <item name="android:windowBackground">@android:color/transparent</item>    <item name="android:colorBackgroundCacheHint">@android:color/transparent</item>    <item name="android:windowFullscreen">true</item>    <item name="android:windowIsTranslucent">false</item>    <item name="android:windowIsFloating">false</item></style>

到此终于完美的解决问题。修改样式后,app的targetSdk是27以及以上,都不会再导致google nexus系列的设备crash。

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Android – 无法更改ActionBar
FinestWebView:可自定义的WebView
Activity界面启动和结束动画(仿微信界面切换效果)
在低版本android系统上实现Material设计应用 | 码农明明桑
【Android 应用开发】 ActionBar 样式详解
NoActionBar主题下如何添加OptionsMenu
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服