Android app啟動圖適配方法實例
前言
app啟動後的白屏問題,默認都是在splash頁面加主題配置,主題配置一個背景來達到用戶點擊app圖標就立馬啟動app的假象,大多情況下,使用背景單一的圖片作為啟動圖,我們在設置背景顏色,就能適配的很不錯瞭(背景顏色+logo圖片的模式)。但是當啟動圖不再單一,而且復雜的圖形時候,適配就成大問題瞭,下面介紹我的方法:
1、設置splash主題
<style name="MySplashTheme" parent="@android:style/Theme.Holo.NoActionBar"> <item name="android:windowBackground">@drawable/splah_bg</item> <item name="android:windowFullscreen">true</item> <item name="android:windowBackground">@color/white</item> <item name="android:windowDrawsSystemBarBackgrounds">false</item> </style>
2、 splash_bg 設置:
<?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/wecome4" android:dither="true" android:filter="true" android:antialias="true" android:gravity="fill"> </bitmap>
這裡面的gravity = fill是設置圖片拉伸的(可以用.9圖片)
3、splash佈局文件設置:
<ImageView android:id="@+id/iv_bg" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:background="@drawable/splah_bg" />
註意這裡的圖片設置用 backgroup,而不是src。然後背景用上面的drawable文件,而不是直接使用圖片,不然主題到splash佈局切換的時候,圖片會閃動。
註意這裡的圖片設置用 backgroup,而不是src。然後背景用上面的drawable文件,而不是直接使用圖片,不然主題到splash佈局切換的時候,圖片會閃動。
註意這裡的圖片設置用 backgroup,而不是src。然後背景用上面的drawable文件,而不是直接使用圖片,不然主題到splash佈局切換的時候,圖片會閃動。
上面說的是不能設置背景顏色的,如果啟動圖背景是純色的,比如天貓那種,就一白色加一個logo,那種主題設置就不一樣瞭,請用下面這種模式
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <solid android:color="#FFFFFF" /> </shape> </item> <item > <bitmap android:gravity="fill" android:src="@drawable/wecome4" android:dither="true" android:filter="true" android:antialias="true" /> </item> </layer-list>
附問題:項目啟動時,會有白屏現象(在點擊 應用圖標到看到啟動頁之間)。
處理辦法:
一:我們盡量減少的Application類裡面的耗時操作
二:設置項目啟動頁的style類型為透明的
處理之後的現象:看不到白屏,但是點擊應用圖標之後,會靜止一段時間(沒有任何反應),過一會兒,才會顯示啟動頁
三:設置項目啟動頁的style類型為指定圖片A(在SplashActivity裡面 ,就不用設置setcontentView()瞭)
處理之後的現象:看不到白屏,但是點擊應用圖標之後,會顯示剛剛設置的style的圖片,過一會兒,才會顯示啟動頁
這種做法遇到的問題:
如果 這個圖片A的尺寸較小,那麼的大尺寸的手機上,啟動頁會看到圖片A的周邊是有空白瞭。
這個問題處理辦法:
1.如果 這個圖片A的背景 有著明顯的規律(這個比較巧合,很難遇到),比如:從上到下有漸變時,可以使用layer-list裡的shape的gradient
2.在UI設計圖片A的時候,將這個圖片A的重要信息(應用的名稱,icon等等)之外的其他背景 用透明表示,這樣就可以使用layer-list裡的shape瞭,將這個圖片A的其它地方用shape的顏色來填充瞭,就不會看到周邊空白的現象瞭。
四:設置項目啟動頁,在SplashActivity裡面 ,用setcontentView(),設置xml佈局裡面的ImageView的scaleType為能自動填充滿界面佈局的類型:centerCrop(註意:這個類型會自動剪切掉圖片A的周圍,註意:的重要信息不要顯示在圖片的周邊,盡量顯示在圖片的中間)
總結
到此這篇關於Android app啟動圖適配方法的文章就介紹到這瞭,更多相關Android app啟動圖適配內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Flutter Android應用啟動白屏的解決方案
- Android啟動頁優化之實現應用秒開
- Android自定義仿ios加載彈窗
- android viewflipper實現左右滑動切換顯示圖片
- Android ListView 實例講解清晰易懂