Android 启动时界面短暂空白的解决方案

 

相信大多数人一开始都会对启动app的时候出现先白瓶或者黑屏然后才进入第一个界面,例如:SplashActivity。那这是什么原因造成的呢?

?

1

2

<style name="Splash_Theme" parent="@android:style/Theme.NoTitleBar">

</style>

原因是我们给改Activity/Application设置的主题引起的,因为该主题相对应的windowBackground等背景被设置成了白色或者黑色,且当我们进入app的第一个界面的时候不是马上就执行onCreate所以会造成先白屏或黑屏一下再进入界面。

所以我就试着搜索延迟启动来解决问题然并卵,在我反编译了微信等一些没这种效果的app查看他们的theme设置,于是找到了解决办法: 

1.给他设置背景跟启动页的背景相似,如果你的启动页是张图片那么可以直接给windowBackground

问题:设置静态图片之后,空白页是显示为设置的图片(启动页的图片) 但是两张背景有差别,导致切换的空隙不连

?

1

2

3

4

5

<!-- 为 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.采用世面的处理方法,设置背景是透明的,给人一种延迟启动的感觉。

?

1

2

3

4

<style name="Splash_Theme" parent="@android:style/Theme.NoTitleBar">

<item name="android:windowIsTranslucent">true</item>

<item name="android:windowNoTitle">true</item>

</style>

目前先采用第二种方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值