91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

高效啟動頁(Splash)

發布時間:2020-08-05 18:57:24 來源:網絡 閱讀:2206 作者:breezy_yuan 欄目:移動開發

很多應用程序啟動時都需要一個頁面展示公司品牌或者Logo,或者即便不需要這個頁面,如果布局比較復雜,啟動應用的時候會有一個短暫的白屏(跟系統主題相關),往往我們會單獨寫一個Activity,然后顯示一張圖片或者Logo,設置固定的時間延遲啟動真正的MainActivity,這樣未免小題大做,分享一個小技能:


  • 首先使用layer-list定義一個層級的drawable:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <color android:color="@color/background_material_light"/>
    </item>
    <item>
        <bitmap
            android:src="@drawable/launch_logo_p_w_picpath"
            android:tileMode="disabled"
            android:gravity="center"/>
    </item>
</layer-list>

定義底色和一個bitmap展示Logo,Logo居中顯示,超出bitmap大小的區域不進行平鋪或者其他處理;

  • 然后應用到全局背景中(應用啟動時,會先渲染主題,如果沒有設置默認使用系統的主題):

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar" />
 
<style name="AppTheme.BrandedLaunch" parent="AppTheme">
    <item name="android:windowBackground">@drawable/branded_logo</item>
</style>
  • 入口Activity設置主題:

<activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:theme="@style/AppTheme.BrandedLaunch">

由于這樣會改變整體的主題,想回到原來的系統默認主題可以在onCreate中動態更換:

@Override
protected void onCreate(Bundle savedInstanceState) {
    setTheme(R.style.AppTheme);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}


之前會在應用啟動前,顯示一個短暫的白屏:

高效啟動頁(Splash)


使用這種方式后:

高效啟動頁(Splash)


是不是舒服很多。


參考自antonioleiva,源碼Github repository


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

郎溪县| 金川县| 康乐县| 新绛县| 博湖县| 平遥县| 子洲县| 商洛市| 图们市| 航空| 永德县| 淮阳县| 醴陵市| 金阳县| 镇安县| 大名县| 化州市| 中西区| 雷州市| 靖州| 安国市| 夏邑县| 梁平县| 文山县| 凌源市| 舒兰市| 河北省| 佛学| 来安县| 汉沽区| 湘潭县| 塔河县| 贵南县| 子长县| 郑州市| 大名县| 蓬安县| 双鸭山市| 井研县| 静安区| 内江市|