防止app闪白屏或闪黑屏

透明Theme

  • 使用透明Theme解决,原理就是虽然程序启动了,但是没有显示出来,你看到的还是桌面,目前主流的产品都是用的这种方式,比如QQ,微信。缺点就是等待的时间长,造成程序启动慢的感觉。
<style name="Theme.AppStartUseTransparent" parent="Theme.AppCompat.NoActionBar">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowNoTitle">true</item>
</style>

图片Theme

  • 使用图片Theme解决,原理就是设置一张背景图,在你的程序没有加载完成的时候会显示这张背景图,你也可以用shape自定义或者使用图片,优点就是启动很快,显示的效果取决于你的图片。
<style name="Theme.AppStartUseDrawable" parent="Theme.AppCompat.NoActionBar">
        <item name="android:windowBackground">@drawable/shape_maincolor</item>
        <item name="android:windowNoTitle">true</item>
</style>

Usage

  • 在manifest.xml使用,我是AppCompat的风格,你可以对parent=“”做适当修改。
 <activity
            android:name=".activity.LoadingActivity"
            android:theme="@style/Theme.AppStartUseTransparent">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
</activity>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值