Como en el tubo ... inicialmente muestran una pantalla de iconos en lugar de una pantalla blanca. Y después de 2 segundos muestra la pantalla de inicio.
primero cree un dibujable XML en res / drawable.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/gray"/>
<item>
<bitmap
android:gravity="center"
android:src="@mipmap/ic_launcher"/>
</item>
</layer-list>
A continuación, establecerá esto como fondo de su actividad de bienvenida en el tema. Navegue a su archivo styles.xml y agregue un nuevo tema para su actividad de bienvenida
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/background_splash</item>
</style>
</resources>
En su nuevo SplashTheme, establezca el atributo de fondo de la ventana en su elemento de diseño XML. Configure esto como el tema de su actividad de bienvenida en su AndroidManifest.xml:
<activity
android:name=".SplashActivity"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Este enlace da lo que quieres. procedimiento paso a paso.
https://www.bignerdranch.com/blog/splash-screens-the-right-way/
ACTUALIZAR:
El layer-list
puede ser aún más simple como este (que también acepta elementos de diseño vectoriales para el logotipo centrado, a diferencia de la <bitmap>
etiqueta):
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Background color -->
<item android:drawable="@color/gray"/>
<!-- Logo at the center of the screen -->
<item
android:drawable="@mipmap/ic_launcher"
android:gravity="center"/>
</layer-list>
onCreate
parte. Intente simplemente "setContentView" en esa actividad y verifique si este retraso ha desaparecido.