在SplashActivity的主题中设置透明:
<style name="SplashTheme" parent="AppBaseTheme"> <!-- 将splashactivity背景设置透明--> <item name="android:windowIsTranslucent">true</item> <item name="android:windowFullscreen">true</item> </style>这样在启动初始化时,SplashActivity透明,去除了黑屏或者白屏的情况,不过也会让用户感觉延迟了几秒,用户体验不太好。
将SplashActivity中的背景图片在SplashActivity的主题中设置,代码如下:
<style name="SplashTheme" parent="AppBaseTheme"> <!-- 将splash背景图片在Theme中设置--> <item name="android:windowBackground">@drawable/splash</item> <item name="android:windowFullscreen">true</item> </style>这样白屏或者黑屏的时间也会显示SplashActivity的背景。 最后将SplashActivity的主题设置成刚才定义好的Theme:
<activity android:name=".activity.SplashActivity" android:theme="@style/SplashTheme" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>虽然在某种程度上,问题解决了,但我还是希望大家能优化app性能,真正的减少初始化时间,真正的提升用户体验!
大功告成,谢谢大家!