React Native Default Splash Removal

React Native BootSplash – Remove the Extra Android Splash

When using react-native-bootsplash, Android may briefly display its default startup window before the custom BootSplash appears.

Install BootSplash:

npm install react-native-bootsplash

The Android splash theme is normally configured in:

android/app/src/main/res/values/styles.xml

Example:

<resources>

<!-- Main application theme -->
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<!-- Application theme settings -->
</style>

<!-- React Native BootSplash theme -->
<style name="BootTheme" parent="Theme.BootSplash">

<item name="bootSplashBackground">@color/silver</item>
<item name="bootSplashLogo">@drawable/ic_launcher</item>

<item name="android:windowIsTranslucent">true</item>

<item name="postBootSplashTheme">@style/AppTheme</item>

</style>

</resources>

The important line when trying to avoid the additional Android startup window is:

<item name="android:windowIsTranslucent">true</item>

This makes the BootSplash window translucent and can prevent the extra default window from appearing before the custom splash screen.

MainActivity

BootSplash also needs to be initialized from MainActivity.kt:

import android.os.Bundle
import com.zoontek.rnbootsplash.RNBootSplash

override fun onCreate(savedInstanceState: Bundle?) {
RNBootSplash.init(this, R.style.BootTheme)
super.onCreate(savedInstanceState)
}

Important

android:windowIsTranslucent is a workaround and is not required by react-native-bootsplash itself.

On newer Android versions, especially Android 12+, Android provides its own system startup splash behaviour. Test the result on both older and newer Android devices after making this change.

For a normal BootSplash configuration, keep:

<style name="BootTheme" parent="Theme.BootSplash">

and:

<item name="postBootSplashTheme">@style/AppTheme</item>


Contact

Want to get in touch?

If you want to talk about a project, a software or IT role, something you have built, or a system you want to improve, send me a message.

I read the messages myself.

Thank you. Your message has been sent.