產(chǎn)生原因
之所以會顯示黑屏或者白屏是因為還沒加載到布局文件徘禁,就已經(jīng)顯示了window窗口背景,黑屏白屏就是window窗口背景
解決辦法
設(shè)置style,在主題中加入以下屬性:
<item name="android:windowIsTranslucent">true</item>
如果是進(jìn)入app的歡迎頁出現(xiàn)這種情況還可以設(shè)置一個默認(rèn)的背景圖如下:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:windowBackground">@mipmap/splash</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
</style>
之后只需要在AndroidManifest.xml中設(shè)置改主題就可以了
常見的主題
android:theme="@android:style/Theme.Dialog" //Activity顯示為對話框模式
android:theme="@android:style/Theme.NoTitleBar" //不顯示應(yīng)用程序標(biāo)題欄
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" //不顯示應(yīng)用程序標(biāo)題欄,并全屏
android:theme="Theme.Light " //背景為白色
android:theme="Theme.Light.NoTitleBar" //白色背景并無標(biāo)題欄
android:theme="Theme.Light.NoTitleBar.Fullscreen" //白色背景,無標(biāo)題欄拇涤,全屏
android:theme="Theme.Black" //背景黑色
android:theme="Theme.Black.NoTitleBar" //黑色背景并無標(biāo)題欄
android:theme="Theme.Black.NoTitleBar.Fullscreen" //黑色背景,無標(biāo)題欄兴泥,全屏
android:theme="Theme.Wallpaper" //用系統(tǒng)桌面為應(yīng)用程序背景
android:theme="Theme.Wallpaper.NoTitleBar" //用系統(tǒng)桌面為應(yīng)用程序背景工育,且無標(biāo)題欄
android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" //用系統(tǒng)桌面為應(yīng)用程序背景,無標(biāo)題欄搓彻,全屏
android:theme="Theme.Translucent" //透明背景
android:theme="Theme.Translucent.NoTitleBar" //透明背景并無標(biāo)題
android:theme="Theme.Translucent.NoTitleBar.Fullscreen" //透明背景并無標(biāo)題如绸,全屏
android:theme="Theme.Panel " //面板風(fēng)格顯示
android:theme="Theme.Light.Panel" //平板風(fēng)格顯示