在默認狀況下,Android應用程序啓動時,會有一個黑屏的時期,緣由是,首個activity會加載一些數據,好比初 始化列表數據、向服務器發送請求獲取數據等等。一樣,使用startActivity(intent)方法從一個Activity進入到新的 Activity時,這個過程當中也會出現短暫的黑屏。這個問題的存在是由Android應用框架決定的,但的確很影響用戶體驗。下面就動手來解決這個黑屏 問題!
android
第一步:自定義Theme(主題)服務器
在your_project/res/values/styles.xml中加入自定義Activity的Theme,以下所示:框架
<?xml version="1.0" encoding="utf-8"?> <resources> <!-- Activity主題 --> <style name="activityTheme" parent="@android:style/Theme"> <item name="android:windowIsTranslucent">true</item> </style> </resources>
其中<item name="android:windowIsTranslucent">true</item>的意思是設置目標 Activity(要啓動的那個Activity)是透明的。很容易理解,兩個Activity,A和B;在A中啓動B,由於B是透明的,看到的背景還是 A,這樣就解決了這個短暫的黑屏問題。spa
第二步:修改Manifest,將Theme應用到目標Activity上code
定義好Theme後,就該爲對應的Activity綁定Theme了。這個代碼主要在Manifest中實現,在Activity中加上如下屬性:orm
<activity android:name=".activity.BookActivity" android:theme="@style/activityTheme" />
作了以上操做便可。
xml