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!

推薦閱讀: