1. 程式人生 > >App啟動時三種效果(黑屏白屏、背景圖片、延遲載入)

App啟動時三種效果(黑屏白屏、背景圖片、延遲載入)

最近做專案時,發現了一個問題:

(1)有些應用點選後需要反應一會然後進入主頁如:微信、中國工商銀行

(2)有些應用點選後出來一個黑屏或白屏,閃一下然後進入主頁如:銀聯錢包

(3)有些應用點選後立刻出來一張啟動圖片,然後進入主頁面如:釘釘

下面來總結一下這三種方式:

一、黑白屏啟動方式:

實現方法:

1、白屏  用系統自帶主題  @android:style/Theme.Light

 <pre name="code" class="java"><activity
            android:name=".ui.mine.NewUserGuideActivity"
            android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

2、屏  用系統自帶主題  @android:style/Theme.Black

<activity
            android:name=".ui.mine.NewUserGuideActivity"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>


二、載入完後在進入的方式:需要自定義主題

 <style name="AppStartTheme" parent="android:Theme">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowNoTitle">true</item>
    </style>
然後引用這個主題
 <activity
            android:name=".ui.mine.NewUserGuideActivity"
            android:theme="@style/AppStartTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

三、背景圖片 與方式二類似

 <style name="AppStartTheme" parent="android:Theme">
       <!-- <item name="android:windowIsTranslucent">true</item>-->
        <item name="android:windowBackground">@drawable/guide_1</item>
        <item name="android:windowNoTitle">true</item>
    </style>

然後引用這個主題
 <activity
            android:name=".ui.mine.NewUserGuideActivity"
            android:theme="@style/AppStartTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>