Android app啟動時黑屏或者白屏的因及解決辦法

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” //用系統桌面為應用程式背景

android:theme=”Theme.Wallpaper.NoTitleBar” //用系統桌面為應用程式背景,且無標題欄

android:theme=”Theme.Wallpaper.NoTitleBar.Fullscreen” //用系統桌面為應用程式背景,無標題欄,全屏

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啟動時黑屏或者白屏的原因及解決辦法的資料整理,後續繼續補充相關資料,謝謝大家對本站的支援!

您可能感興趣的文章:

Android程式設計中activity啟動時出現白屏、黑屏問題的解決方法Android中Splash應用啟動白屏問題的解決方法Android中使用Theme來解決啟動app時出現的空白屏問題Android的App啟動時白屏的問題解決辦法解決Android應用冷啟動時出現的白屏問題的方法Android 避免APP啟動閃黑屏的解決辦法(Theme和Style)Android程式啟動時出現黑屏問題的解決方法Android優化之啟動頁去黑屏實現秒啟動Android啟動頁出現白屏、黑屏的解決方案