Android開發(fā)中Activity之間切換出現(xiàn)短暫黑屏的解決方法
本文實例講述了Android開發(fā)中Activity之間切換出現(xiàn)短暫黑屏的解決方法。分享給大家供大家參考,具體如下:
在默認情況下,Android應用程序啟動時,會有一個黑屏的時期,原因是,首個activity會加載一些數(shù)據(jù),比如初始化列表數(shù)據(jù)、向服務器發(fā)送請求獲取數(shù)據(jù)等等。同樣,使用startActivity(inte ……
在默認情況下,Android應用程序啟動時,會有一個黑屏的時期,原因是,首個activity會加載一些數(shù)據(jù),比如初 始化列表數(shù)據(jù)、向服務器發(fā)送請求獲取數(shù)據(jù)等等。同樣,使用startActivity(intent)方法從一個Activity進入到新的 Activity時,這個過程中也會出現(xiàn)短暫的黑屏。這個問題的存在是由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,這樣就解決了這個短暫的黑屏問題。
第二步:修改Manifest,將Theme應用到目標Activity上
定義好Theme后,就該為對應的Activity綁定Theme了。這個代碼主要在Manifest中實現(xiàn),在Activity中加上以下屬性:
<activity android:name=".activity.PlacingOrderStep1Activity" android:theme="@style/activityTheme" />
OK,到此問題解決,不信的話,你就試試!
更多關于Android相關內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進階教程》及《Android編程之a(chǎn)ctivity操作技巧總結(jié)》
希望本文所述對大家Android程序設計有所幫助。
- Android利用Theme自定義Activity間的切換動畫
- Android Activity 橫豎屏切換的生命周期
- 詳解Android Activity之間切換傳遞數(shù)據(jù)的方法
- Android編程實現(xiàn)橫豎屏切換時不銷毀當前activity和鎖定屏幕的方法
- Android實現(xiàn)Activity界面切換添加動畫特效的方法
- Android Activity切換(跳轉(zhuǎn))時出現(xiàn)黑屏的解決方法 分享
- android橫豎屏切換時候Activity的生命周期
- android橫豎屏切換不重啟activity解決方案
- Android編程實現(xiàn)兩個Activity相互切換而不使用onCreate()的方法
相關文章
Android控件gridview實現(xiàn)單行多列橫向滾動效果
這篇文章主要為大家詳細介紹了Android控件gridview實現(xiàn)單行多列橫向滾動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12Android中EditText 設置 imeOptions 無效問題的解決方法
有時候我們需要在EditText 輸出完之后 需要在鍵盤出現(xiàn) 右下角變成“Go”或“前往 搜索時;通常我們需要設置Android:imeOptions屬性,但是今天我發(fā)現(xiàn)設置了無效,下面給大家分享下解決方案2016-12-12Android中使用SeekBar拖動條實現(xiàn)改變圖片透明度(代碼實現(xiàn))
這篇文章主要介紹了Android中使用SeekBar拖動條實現(xiàn)改變圖片透明度,需要的朋友可以參考下2020-01-01