参考: https://www.cnblogs.com/woaixingxing/p/6438484.html
1、为什么会出现这种情况,在启动Acitivty的onCreate()方法里面,执行setContentView(R.layout.activity_splash);出现白屏。
设想,onCreate---setContentView这个并不是发生在,窗体绘制的第一步,系统会在执行这个步骤之前,先绘制窗体,这时候布局资源还没加载,于是就使用默认背景色。
<style name="ThemeSplash" parent="Theme.AppCompat.Light">
这种亮色系,造成白色闪屏
<style name="ThemeSplash" parent="ThemeOverlay.AppCompat.Dark">
这种暗色系主题,造成了黑色闪屏
打开你项目的AndroidManifest.xml,找到android:theme="@style/xxx",改成v7包里提供的方案就行了。比如:
android:theme="@style/Theme.AppCompat" 黑色系
android:theme="@style/Theme.AppCompat.Light" 浅色系
2、解决方案:若不显示黑屏或白屏时,在启动页面设置它的style主题风格,设置背景色为启动画面的图片
<style name="Launch" parent="Theme.AppCompat.NoActionBar"> <item name="android:background">@drawable/start_land</item> //启动页面时加载的图片 <item name="android:windowFullscreen">true</item> //设置全屏 </style>