標籤:android style blog code tar http
轉自:http://www.cppblog.com/fwxjj/archive/2013/01/14/197259.html
在預設情況下,Android應用程式啟動時,會有一個黑屏的時期,原因是,首個activity會載入一些資料,比如初始化列表資料、向伺服器發送請求擷取資料等等。同樣,使用startActivity(inte ……
在預設情況下,Android應用程式啟動時,會有一個黑屏的時期,原因是,首個activity會載入一些資料,比如初 始化列表資料、向伺服器發送請求擷取資料等等。同樣,使用startActivity(intent)方法從一個Activity進入到新的 Activity時,這個過程中也會出現短暫的黑屏。這個問題的存在是由Android應用程式框架決定的,但的確很影響使用者體驗。下面就動手來解決這個黑屏 問題!
第一步:自訂Theme(主題)
在your_project/res/values/styles.xml中加入自訂Activity的Theme,如下所示:
view plain copy
- <?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,這樣就解決了這個短暫的黑屏問題。
第二步:修改Manifest,將Theme應用到目標Activity上
定義好Theme後,就該為對應的Activity綁定Theme了。這個代碼主要在Manifest中實現,在Activity中加上以下屬性:
view plain copy
- <activity android:name=".activity.PlacingOrderStep1Activity"
- android:theme="@style/activityTheme" />
OK,到此問題解決,不信的話,你就試試!