Android Activity之間切換出現短暫黑屏的處理方法


轉自: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
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <resources> 
  3.     <!-- Activity主題 --> 
  4.     <style name="activityTheme" parent="@android:style/Theme"> 
  5.         <item name="android:windowIsTranslucent">true</item> 
  6.     </style> 
  7. </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
  1. <activity android:name=".activity.PlacingOrderStep1Activity"  
  2.       android:theme="@style/activityTheme" /> 

OK,到此問題解決,不信的話,你就試試!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM