溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Android中Splash應(yīng)用啟動(dòng)白屏問(wèn)題的解決方法

發(fā)布時(shí)間:2020-09-17 20:11:34 來(lái)源:腳本之家 閱讀:274 作者:tijjyire 欄目:移動(dòng)開(kāi)發(fā)

不久前項(xiàng)目開(kāi)始了一段時(shí)間了,剛開(kāi)始懷疑是Android Studio中新加入的Instant Run功能引起的,于是重新打release包后再次運(yùn)行發(fā)現(xiàn)還是有這樣的問(wèn)題,突然想到了上次集成進(jìn)來(lái)了云信,于是猜想可能的確是加入云信后Application里面初始化操作再加上HomeActivity主界面的一些初始化耗時(shí)操作引起的,于是我們想辦法消滅白屏,有已下兩種方案可參看:

1.在啟動(dòng)Activity的界面主題樣式上加上這樣的item

  <style name="Theme.Start" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowBackground">@drawable/splash</item>
  </style>

在drawable目錄下建立splash

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <bitmap
      android:id="@+id/bitmap_splash"
      android:src="@mipmap/bg_welcome">
    </bitmap>
  </item>
</layer-list>

這個(gè)背景圖片自定義成你自己的啟動(dòng)圖片。

2.直接在 style里面加上

  <style name="Theme.Start" parent="Theme.AppCompat.Light.NoActionBar">

    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowNoTitle">true</item>

  </style>

windowIsTranslucent和windowNoTitle,將這兩個(gè)屬性都設(shè)置成true,就可以讓程序在初始化的時(shí)候窗口是透明的,初始化結(jié)束后程序主界面才會(huì)顯示出來(lái),從而也就完全看不到白屏界面了。

基本上就是上面兩種解決方案了,第一種方案點(diǎn)擊后可以迅速出來(lái)應(yīng)用啟動(dòng)界面但是需要用戶(hù)等一段時(shí)間才能進(jìn)去,第二種方案點(diǎn)擊桌面上的icon開(kāi)始會(huì)等一會(huì)splash才會(huì)出現(xiàn),等到應(yīng)用初始化完成后才出來(lái)。兩種各有優(yōu)勢(shì),具體采用那種看自己需求,本人推薦使用第一種,用戶(hù)體驗(yàn)較好。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI