摘要: 如何解決頁(yè)面之間跳轉(zhuǎn)時(shí)的黑屏問(wè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(intent)方法從一個(gè)Activity進(jìn)入到新的Activity時(shí),這個(gè)過(guò)程中也會(huì)出現(xiàn)短暫的黑屏。這個(gè)問(wèn)題的存在是由Android應(yīng)用框架決定的,但的確很影響用戶體驗(yàn)。下面就動(dòng)手來(lái)解決這個(gè)黑屏 問(wèn)題!
第一步:自定義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> <item name="android:windowNoTitle">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è)短暫的黑屏問(wèn)題。
第二步:修改Manifest,將Theme應(yīng)用到目標(biāo)Activity上
定義好Theme后,就該為對(duì)應(yīng)的Activity綁定Theme了。這個(gè)代碼主要在Manifest中實(shí)現(xiàn),在Activity中加上以下屬性:
<activity android:name=".activity.BookActivity" android:theme="@style/activityTheme" />
做了以上操作即可。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選