在我們開發(fā)App的啟動過程中我們會經常發(fā)現(xiàn)如果說我們在Application中有了太多的耗時操作嘶是,那么在啟動的時候就會有一個白的頁面或者黑的頁面才能到歡迎頁面钙勃,而我們常用到的比如說京東會有一個京東的靜態(tài)頁面,然后出來的是廣告頁面即歡迎頁面聂喇,還有就是微信這樣的辖源,我們在點擊過后可能會經歷了一段時間才能到主頁面。
首先我們分析下出現(xiàn)白的頁面是什么原因希太,為了保證出現(xiàn)克饶,我在我的Application中進行了一個for循環(huán)輸出,循環(huán)了20000次誊辉。先說下我的歡迎頁主題矾湃。
<style name="AppTheme_Launcher" parent="Theme.AppCompat.Light">
</style>
這個保證了我出現(xiàn)的頁面是個白頁面,因為我的主題是Light堕澄。我們繼續(xù)查看我們的主題父類大概是一個這樣的流程
Theme.AppCompat.Light
Base.Theme.AppCompat.Light
Base.V7.Theme.AppCompat.Light
Platform.AppCompat.Light
Base.V7.Theme.AppCompat.Light
Platform.AppCompat.Light
<item name="android:windowBackground">@color/background_material_light</item>
我們會發(fā)現(xiàn)出現(xiàn)白色頁面的原因就是上面的最后一段代碼邀跃,那么我們能不能修改這個item實現(xiàn)定制呢?答案是必然的蛙紫,京東就是這樣做的拍屑。
我修改了我的歡迎頁面的Theme,把這個顏色更改了惊来,出現(xiàn)的結果是我更改的顏色丽涩,下面貼出我的代碼
<style name="AppTheme_Launcher" parent="Theme.AppCompat.Light">
<item name="android:windowBackground">@color/color_dfa043</item>
</style>
既然可以換顏色,我們當然想換成一個圖片裁蚁,這就是京東實現(xiàn)的原理矢渊。代碼還是貼一下吧,水個字數(shù)枉证。
<style name="AppTheme_Launcher" parent="Theme.AppCompat.Light">
<item name="android:windowBackground">@mipmap/splash</item>
</style>
按照上面的配置大家就能在App啟動耗時的時候進行個簡單的優(yōu)化了矮男,不至于讓用戶看著個白色的頁面發(fā)呆。
下面我們說下微信的實現(xiàn)方式室谚,微信的實現(xiàn)方式也用到了我們上面說的毡鉴,但是微信沒有顯示這個圖片崔泵,微信用了另一種方式,不讓大家看到這一步猪瞬,這一步是進行了憎瘸,但是隱藏了,然后大家看到的就是微信的主頁面了陈瘦。貼下代碼先
<style name="AppTheme_Launcher" parent="Theme.AppCompat.Light">
<item name="android:windowBackground">@null</item>
<item name="android:windowDisablePreview">true</item>
</style>
好了幌甘,到這里,基本上我昨天上課的第一部分的核心使用就差不多完結了痊项,這里我們要想到锅风,我們已經這樣做了,那么我們能不能把別的item也修改了呢鞍泉,這樣就實現(xiàn)了完全的自定義皱埠,也可以更隨心所欲了。