Splash screens

On Android and iOS, .NET Multi-platform App UI (.NET MAUI) apps can display a splash screen while their initialization process completes. The splash screen is displayed immediately when an app is launched, providing immediate feedback to users while app resources are initialized:

.NET MAUI splash screens screenshot.

Once the app is ready for interaction, its splash screen is dismissed.

Splash screens are a composite of an image and a background color. The standard platform image formats are supported, including Scalable Vector Graphics (SVG) files.

Tip

The SVG format is the recommended image format for .NET MAUI splash screens.

.NET MAUI splash screens can be added to your app project by dragging an image into the Resources\Images folder of the project, and setting the build action of the image to MauiSplashScreen in the Properties window. This creates a corresponding entry in your project file:

<ItemGroup>
  <MauiSplashScreen Include="Resources\Images\splashscreen.svg" />
</ItemGroup>

To comply with Android resource naming rules, splash screen files names must be lowercase, start and end with a letter character, and contain only alphanumeric characters or underscores. For more information, see App resources overview on developer.android.com.

A background color for your splash screen can also be specified:

<MauiSplashScreen Include="Resources\Images\splashscreen.svg" Color="#512BD4" />

Color values can be specified in hexadecimal, or as a .NET MAUI color. For example, Color="Red" is valid.

At build time, the splash screen image is resized to the correct size for the target platform and device. The splash screen is then added to your app package.

On Android, the splash screen is added to your app package as Resourcs/values/maui_colors.xml and Resources/drawable/maui_splash_image.xml. .NET MAUI apps use the Maui.SplashTheme by default, which ensures that a splash screen will be displayed if present. Therefore, you should not specify a different theme in your manifest file or in your MainActivity class:

using Android.App;
using Android.Content.PM;

namespace MyMauiApp
{
      [Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize)]
      public class MainActivity : MauiAppCompatActivity
      {
      }
}

For more advanced splash screen scenarios, per-platform approaches apply.