Android中使用Theme来解决启动app时出现的空白屏问题
程序员文章站
2024-02-26 17:45:22
相信大多数人一开始都会对启动app的时候出现先白瓶或者黑屏然后才进入第一个界面,例如:splashactivity。那这是什么原因造成的呢?
<...
相信大多数人一开始都会对启动app的时候出现先白瓶或者黑屏然后才进入第一个界面,例如:splashactivity。那这是什么原因造成的呢?
<style name="splash_theme" parent="@android:style/theme.notitlebar"> </style>
原因是我们给改activity/application设置的主题引起的,因为该主题相对应的windowbackground等背景被设置成了白色或者黑色,且当我们进入app的第一个界面的时候不是马上就执行oncreate所以会造成先白屏或黑屏一下再进入界面。
所以我就试着搜索延迟启动来解决问题然并卵,在我反编译了微信等一些没这种效果的app查看他们的theme设置,于是找到了解决办法:
1.给他设置背景跟启动页的背景相似,如果你的启动页是张图片那么可以直接给windowbackground这个属性设置该图片那么就不会有一闪的效果了
<!-- 为 theme 设置背景图 --> <style name="splash_theme" parent="@android:style/theme.notitlebar"> <item name="android:windowbackground">@drawable/splash_bg</item> <item name="android:windownotitle">true</item> </style>
2.采用世面的处理方法,设置背景是透明的,给人一种延迟启动的感觉。
<style name="splash_theme" parent="@android:style/theme.notitlebar"> <item name="android:windowistranslucent">true</item> <item name="android:windownotitle">true</item> </style>
采取这么设置我们就能把这个一闪的问题解决了,让自己的应用体验更完善一点。
以上所述是小编给大家介绍的android中使用theme来解决启动app时出现的空白屏问题,希望对大家有所帮助
下一篇: asp.net错误页面处理示例分享