Android App啓動時閃爍白屏或黑屏的問題解決辦法

Activity啓動時,會先創建窗體,然後再創建界面佈局,黑屏或白屏出現的原因是因爲創建窗體成功後,在Activity佈局加載完成之前,這段時間界面上因爲沒有內容顯示,顯示的窗體的默認背景顏色。

在Activity的佈局中,通過調整佈局已經不能夠滿足這種情況下的問題了,所以需要對窗體的背景做相應的處理。

常用的方案有兩種。

第一種比較簡單的是,將啓動界面的主題加上窗體透明的屬性:

<style name="Theme.AppStartupBackground" parent="android:Theme">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowNoTitle">true</item> 
</style>

這種就是在Activity佈局加載完之前,看到的還是啓動之前的頁面內容,如Launcher或SystemUI。雖然從視覺上能夠達到不閃黑屏或白屏,但是會讓人有一種點擊了之後啓動過程有點緩慢的感覺,體驗較差。

第二種就是針對窗體背景進行處理,既然顯示黑屏或白屏是由於窗體背景導致,那可以給窗體背景設置一個我們想要的背景:

<style name="Theme.AppStartupBackground" parent="android:Theme">
    <item name="android:windowBackground">@drawable/startup_bg</item> 
    <item name="android:windowNoTitle">true</item> 
</style>

這樣的設置能夠達到預期的效果,推薦使用這種方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章