当前位置:主页 > 移动开发 > Android代码 >

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

时间:2021-02-02 10:12:50 | 栏目:Android代码 | 点击:

 相信大多数人一开始都会对启动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>

采取这么设置我们就能把这个一闪的问题解决了,让自己的应用体验更完善一点。

您可能感兴趣的文章:

相关文章