日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Android?app啟動圖適配方法實例_Android

作者:plx_csdn ? 更新時間: 2022-03-23 編程語言

前言

app啟動后的白屏問題,默認(rèn)都是在splash頁面加主題配置,主題配置一個背景來達(dá)到用戶點擊app圖標(biāo)就立馬啟動app的假象,大多情況下,使用背景單一的圖片作為啟動圖,我們在設(shè)置背景顏色,就能適配的很不錯了(背景顏色+logo圖片的模式)。但是當(dāng)啟動圖不再單一,而且復(fù)雜的圖形時候,適配就成大問題了,下面介紹我的方法:

1、設(shè)置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 設(shè)置:

<?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是設(shè)置圖片拉伸的(可以用.9圖片)

3、splash布局文件設(shè)置:

 <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" />

注意這里的圖片設(shè)置用 backgroup,而不是src。然后背景用上面的drawable文件,而不是直接使用圖片,不然主題到splash布局切換的時候,圖片會閃動。

注意這里的圖片設(shè)置用 backgroup,而不是src。然后背景用上面的drawable文件,而不是直接使用圖片,不然主題到splash布局切換的時候,圖片會閃動。

注意這里的圖片設(shè)置用 backgroup,而不是src。然后背景用上面的drawable文件,而不是直接使用圖片,不然主題到splash布局切換的時候,圖片會閃動。

上面說的是不能設(shè)置背景顏色的,如果啟動圖背景是純色的,比如天貓那種,就一白色加一個logo,那種主題設(shè)置就不一樣了,請用下面這種模式

<?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>

附問題:項目啟動時,會有白屏現(xiàn)象(在點擊 應(yīng)用圖標(biāo)到看到啟動頁之間)。

處理辦法:

一:我們盡量減少的Application類里面的耗時操作

二:設(shè)置項目啟動頁的style類型為透明的

處理之后的現(xiàn)象:看不到白屏,但是點擊應(yīng)用圖標(biāo)之后,會靜止一段時間(沒有任何反應(yīng)),過一會兒,才會顯示啟動頁

三:設(shè)置項目啟動頁的style類型為指定圖片A(在SplashActivity里面 ,就不用設(shè)置setcontentView()了)

處理之后的現(xiàn)象:看不到白屏,但是點擊應(yīng)用圖標(biāo)之后,會顯示剛剛設(shè)置的style的圖片,過一會兒,才會顯示啟動頁

這種做法遇到的問題:

如果 這個圖片A的尺寸較小,那么的大尺寸的手機(jī)上,啟動頁會看到圖片A的周邊是有空白了。

這個問題處理辦法:

1.如果 這個圖片A的背景 有著明顯的規(guī)律(這個比較巧合,很難遇到),比如:從上到下有漸變時,可以使用layer-list里的shape的gradient

2.在UI設(shè)計圖片A的時候,將這個圖片A的重要信息(應(yīng)用的名稱,icon等等)之外的其他背景 用透明表示,這樣就可以使用layer-list里的shape了,將這個圖片A的其它地方用shape的顏色來填充了,就不會看到周邊空白的現(xiàn)象了。

四:設(shè)置項目啟動頁,在SplashActivity里面 ,用setcontentView(),設(shè)置xml布局里面的ImageView的scaleType為能自動填充滿界面布局的類型:centerCrop(注意:這個類型會自動剪切掉圖片A的周圍,注意:的重要信息不要顯示在圖片的周邊,盡量顯示在圖片的中間)

總結(jié)

原文鏈接:https://blog.csdn.net/plx_csdn/article/details/122284665

欄目分類
最近更新