Android app啟動時黑屏或者白屏的原因及解決辦法
1、產生原因
其實顯示黑屏或者白屏實屬正常,這是因為還沒加載到布局文件,就已經顯示了window窗口背景,黑屏白屏就是window窗口背景。
示例:
2、解決辦法
通過設置設置Style
(1)設置背景圖Theme
通過設置一張背景圖。 當程序啟動時,首先顯示這張背景圖,避免出現黑屏
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="android:screenOrientation">portrait</item> <item name="android:windowBackground">>@mipmap/splash</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowNoTitle">true</item> </style>
(2)設置透明Theme
通過把樣式設置為透明,程序啟動后不會黑屏而是整個透明了,等到界面初始化完才一次性顯示出來
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowIsTranslucent">true</item> <item name="android:screenOrientation">portrait</item> </style>
兩者對比:
Theme1 程序啟動快,界面先顯示背景圖,然后再刷新其他界面控件。給人刷新不同步感覺。
Theme2 給人程序啟動慢感覺,界面一次性刷出來,刷新同步。
(3)修改AndroidManifest.xml
<application android:name=".App" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true"> <activity android:name=".MainActivity" android:theme="@style/AppTheme"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> //...... </application>
解決后示例:
3、常見的Theme主題
android:theme="@android:style/Theme.Dialog" //Activity顯示為對話框模式
android:theme="@android:style/Theme.NoTitleBar" //不顯示應用程序標題欄
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" //不顯示應用程序標題欄,并全屏
android:theme="Theme.Light " //背景為白色
android:theme="Theme.Light.NoTitleBar" //白色背景并無標題欄
android:theme="Theme.Light.NoTitleBar.Fullscreen" //白色背景,無標題欄,全屏
android:theme="Theme.Black" //背景黑色
android:theme="Theme.Black.NoTitleBar" //黑色背景并無標題欄
android:theme="Theme.Black.NoTitleBar.Fullscreen" //黑色背景,無標題欄,全屏
android:theme="Theme.Wallpaper" //用系統(tǒng)桌面為應用程序背景
android:theme="Theme.Wallpaper.NoTitleBar" //用系統(tǒng)桌面為應用程序背景,且無標題欄
android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" //用系統(tǒng)桌面為應用程序背景,無標題欄,全屏
android:theme="Theme.Translucent" //透明背景
android:theme="Theme.Translucent.NoTitleBar" //透明背景并無標題
android:theme="Theme.Translucent.NoTitleBar.Fullscreen" //透明背景并無標題,全屏
android:theme="Theme.Panel " //面板風格顯示
android:theme="Theme.Light.Panel" //平板風格顯示
以上就是對Android app啟動時黑屏或者白屏的原因及解決辦法的資料整理,后續(xù)繼續(xù)補充相關資料,謝謝大家對本站的支持!
- 完美解決Android App啟動頁有白屏閃過的問題
- Android啟動頁出現白屏、黑屏的解決方案
- Android啟動APP時黑屏白屏的解決方法
- Flutter Android端啟動白屏問題的解決
- 如何正確實現Android啟動屏畫面的方法(避免白屏)
- 解決Android應用冷啟動時出現的白屏問題的方法
- Android的App啟動時白屏的問題解決辦法
- Android中Splash應用啟動白屏問題的解決方法
- Android中使用Theme來解決啟動app時出現的空白屏問題
- Android Splash界面白屏、黑屏問題的解決方法
- Android編程中activity啟動時出現白屏、黑屏問題的解決方法
- Android 啟動頁白屏解決方案
相關文章
Android中新引進的Google Authenticator驗證系統(tǒng)工作原理淺析
這篇文章主要介紹了Android中新引進的Google Authenticator驗證系統(tǒng)工作原理淺析,需要的朋友可以參考下2014-10-10