Android啟動出現白屏的解決辦法(theme)
阿新 • • 發佈:2019-01-28
安卓啟動時出現白屏,是因為在執行onCreate時佔用了時間。而使用setContentView又一定要放在onCreate中,setContentView本身,就需要佔用時間,所以這個白屏無法從根本上消除。
這個白屏是由activity的theme項來決定,學名Preview,,消除的方法,是繼承系統給定的樣式,新增
< item name = "android:windowDisablePreview" >true</ item > |
禁用其預覽頁。。
當然,也可以通過
< item name = "android:windowBackground" ></ item > |
來指定顯示的背景頁。
全部繼承方式距離
< style name = "AppTheme" parent = "AppBaseTheme" > <!-- All customizations that are NOT specific to a particular API-level can go here. --> < item name = "android:windowDisablePreview" >true</ item > </ style > |
注意:如果通過windowsBackground設定背景圖後,在以後設計佈局的時候,如果你沒有給某個區域指定背景色,那麼該區域預設透明,將會將背景圖透視到前臺。
在補充幾個繼承或者自定義主題時有用的Theme項,,(取自themes.xml)
// 背景圖 <item name= "windowBackground" >@android:drawable/dark</item> // 前景圖 <item name= "windowFrame" >@ null </item> // 是否展示標題 <item name= "windowNoTitle" > false </item> // 是否全屏 <item name= "windowFullscreen" > false </item> // 是否為懸浮窗 <item name= "windowIsFloating" > false </item> // 是否顯示使用者的桌布 <item name= "windowShowWallpaper" > false </item> // 動畫樣式(說白了就是activity切換的動畫) <item name= "android:windowAnimationStyle" ></item> |
// 讓背景透明, // 在activity左右滑動時,劃出區域顯示下方的視窗 <item name= "android:windowIsTranslucent" > true </item> |