Androidアプリの起動時に、黒または白の画面の原因と解決方法


1、原因が生じる
実際には、ブラックスクリーンやホワイトスクリーンは正常です。これはレイアウトファイルに読み込まれていないので、すでにウィンドウの背景が表示されています。ブラックスクリーンの白い画面はwindowウィンドウの背景です。
例:

2、解決策
設定によるスタイル
(1)背景図The meを設定する
背景図を設定します。プログラムが起動されると、まずこの背景図を表示し、ブラックスクリーンが現れないようにします。

<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)透明The meを設定する
パターンを透明に設定することによって、プログラムが起動したら黒スクリーンではなく透明になります。画面が初期化されてから一回に表示されます。

<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>
両者の比較:
Theme 1プログラムの起動が速く、画面に背景図を表示してから他のインターフェースコントロールを更新します。同期感をリフレッシュします。
The me 2は、プログラムの起動が遅いという感じを与え、インターフェースが一括して出てきて、同期を更新します。 
(3)Android Manifest.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、よくあるテーマ
android:theme=「@android:style/The me.Dialog」//Activityはダイアログモードとして表示されます。
android:theme=「@android:style/The me.NoTitleBar」/アプリケーションタイトルバーを表示しない
android:theme=「@android:style/The me.NoTitleBar.Fulscreen」/アプリケーションタイトルバーを表示しないで、フルスクリーン
android:theme="The me.Light"//背景は白いです。
android:theme=「The me.Light.NoTitleBar」/ホワイトバックはタイトルバーがありません。
android:theme=「The me.Light.NoTitleBar.Fulscreen」//ホワイトバック、タイトルバーなし、フルスクリーン
android:theme=「The me.Black」//背景黒
android:theme=「The me.Black.NoTitleBar」/黒い背景にタイトルバーはありません。
android:theme=「The me.Black.NoTitleBar.Fulscreen」//黒の背景にはタイトルバーがなく、フルスクリーン
android:theme=「The me.Wallpaper」//システムデスクトップをアプリケーションの背景とする
android:theme=「The me.Wallpaper.NoTitleBar」/システムデスクトップをアプリケーションの背景とし、タイトルバーがありません。
android:theme=「The me.Wallpaper.NoTitleBar.Fulscreen」/システムのデスクトップをアプリケーションの背景にして、タイトルバーがなくて、フルスクリーンです。
android:theme=「The me.Transucent」//透明背景
android:theme=「The me.Transucent.NoTitleBar」/透明な背景にはタイトルがありません。
android:theme=「The me.Transucent.NoTitleBar.Fulscreen」/透明な背景にはタイトルがなく、フルスクリーン
android:theme=「The me.Panel」/パネルスタイル表示
android:theme=「The me.Light.Panel」//タブレットスタイル表示
以上はAndroidアプリの起動時のブラックスクリーンあるいはホワイトスクリーンの原因と解決方法の資料の整理で、引き続き関連資料を補充します。ありがとうございます。