首先是效果图
GIF.gif
简单分析一下闪屏页白屏,黑屏原因
市面上的有些App,点击App图标后,会出现白屏或者黑屏一段时间的问题。为什么会出现这种问题呢,其实在启动Acitivty的启动过程中,onCreate()方法并不是发生在窗口绘制的第一步,系统会在执行这个步骤之前,先绘制窗体,这时候onCreat()还没被执行,我们的setContentView(R.layout.activity_splash)就更不会被执行了,布局资源还没有被加载,这时系统就会使用当前Activity的主题默认背景色来展示。
如果我们的SplashActivity主题风格是继承
这种亮色系,因为此主题默认背景色是白色,那么就会出现白色闪屏;
如果我们的SplashActivity主题风格是继承
这种暗色系,而主题默认背景色是黑色,那么就会出现黑色闪屏。
简单两步实现闪屏页秒开无白屏黑屏
既然我们知道了闪屏页白屏的原因,系统会调用当前Activity的主题默认背景色,那么我们可以有两种基本的思路:
一,把背景色设置为透明色,这样就不会出现白屏了;
二,把背景色直接设置成我们的闪屏页闪屏图案。
第一种方法有个小问题,当用户点击软件图标后,界面可能会停在桌面一两秒,因为闪屏页主题背景是透明的,而此时闪屏页下面是桌面,所以就出现了这种假