本文實(shí)例講述了android開發(fā)中activity之間切換出現(xiàn)短暫黑屏的解決方法。分享給大家供大家參考,具體如下:
在默認(rèn)情況下,android應(yīng)用程序啟動(dòng)時(shí),會(huì)有一個(gè)黑屏的時(shí)期,原因是,首個(gè)activity會(huì)加載一些數(shù)據(jù),比如初始化列表數(shù)據(jù)、向服務(wù)器發(fā)送請(qǐng)求獲取數(shù)據(jù)等等。同樣,使用startactivity(inte ……
在默認(rèn)情況下,android應(yīng)用程序啟動(dòng)時(shí),會(huì)有一個(gè)黑屏的時(shí)期,原因是,首個(gè)activity會(huì)加載一些數(shù)據(jù),比如初 始化列表數(shù)據(jù)、向服務(wù)器發(fā)送請(qǐng)求獲取數(shù)據(jù)等等。同樣,使用startactivity(intent)方法從一個(gè)activity進(jìn)入到新的 activity時(shí),這個(gè)過程中也會(huì)出現(xiàn)短暫的黑屏。這個(gè)問題的存在是由android應(yīng)用框架決定的,但的確很影響用戶體驗(yàn)。下面就動(dòng)手來解決這個(gè)黑屏 問題!
第一步:自定義theme(主題)
在your_project/res/values/styles.xml中加入自定義activity的theme,如下所示:
1
2
3
4
5
6
7
|
<?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>的意思是設(shè)置目標(biāo) activity(要啟動(dòng)的那個(gè)activity)是透明的。很容易理解,兩個(gè)activity,a和b;在a中啟動(dòng)b,因?yàn)閎是透明的,看到的背景仍是 a,這樣就解決了這個(gè)短暫的黑屏問題。
第二步:修改manifest,將theme應(yīng)用到目標(biāo)activity上
定義好theme后,就該為對(duì)應(yīng)的activity綁定theme了。這個(gè)代碼主要在manifest中實(shí)現(xiàn),在activity中加上以下屬性:
1
2
|
<activity android:name= ".activity.placingorderstep1activity" android:theme= "@style/activitytheme" /> |
ok,到此問題解決,不信的話,你就試試!
希望本文所述對(duì)大家android程序設(shè)計(jì)有所幫助。