← Back to Chapters

Change Splash Screen in React Native

? Change Splash Screen in React Native

? Quick Overview

The splash screen is the first screen users see when a React Native app launches. Customizing it helps with branding, improves perceived performance, and gives a professional feel to your application.

? Key Concepts

  • Native splash screens are configured separately for Android and iOS
  • Splash screens are static and shown before JavaScript loads
  • Images must be provided in multiple resolutions
  • Libraries like react-native-splash-screen can help control visibility

? Syntax / Theory

In React Native, splash screens are handled at the native level:

  • Android: styles.xml, launch_screen.xml, mipmap assets
  • iOS: LaunchScreen.storyboard and asset catalogs

? Code Example (Android)

? View Code Example
// Android splash screen theme configuration
<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/launch_screen</item>
</style>

? Code Example (iOS)

? View Code Example
// iOS uses LaunchScreen.storyboard for splash UI
<imageView contentMode="scaleAspectFill" image="SplashImage" />

? Live Output / Explanation

What Happens on App Launch?

The operating system loads the splash screen instantly while the React Native JavaScript bundle initializes in the background.

? Interactive Example (App Simulation)

Click the button below to see how a Splash Screen covers the app while it loads, then disappears to reveal the Home Screen.

Simple Loading Indicator

MY APP
Loading...
 
 
 
 
App State: Ready

? Use Cases

  • Brand logo display during app startup
  • Showing loading indicators
  • Preventing blank white screens
  • Improving perceived performance

✅ Tips & Best Practices

  • Keep splash screens simple and lightweight
  • Avoid text-heavy designs
  • Use correct image sizes for all devices
  • Hide splash screen as soon as app is ready

? Try It Yourself

  1. Create a new React Native app
  2. Replace default splash assets with your logo
  3. Run the app on Android and iOS
  4. Observe splash behavior on cold start