欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android中使用Theme来解决启动app时出现的空白屏问题

程序员文章站 2024-02-28 17:18: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时出现的空白屏问题,希望对大家有所帮助