Android Activity之間跳轉出現短暫黑屏的處理方法

      在默認狀況下,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

相關文章
相關標籤/搜索