Q about splash screen in UWP app
Hi,
In the .appxmanifest of this UWP app the Visual Assets have been set and Generated. The generated splash screen looks like this
In spite efforts my efforts so far, it has not been possible to change the size of the image in the center of the splash screen. I’ve tried changing the image size placed in the manifest, no joy there. Is there a way to control the size of this image as displayed in the splash screen? Would changing the size perhaps involve using the custom splash screen stuff mentioned in UWP docs.
TY!
2 answers
-
Jay Pham (WICLOUD CORPORATION) 3,800 Reputation points • Microsoft External Staff • Moderator
Hi @WoodManEXP ,
I see the issue is that the image in the center of the default UWP splash screen cannot be resized through the app manifest.
The manifest-based splash screen lets you configure the splash image asset and the background color, but it does not provide a setting to control the rendered image size or position independently. The splash image is expected to follow the UWP splash asset requirements, such as 620 x 300 at the 1x scale factor, and Windows handles the display and centering of that image.
If you need full control over the image size, position, or additional UI such as a progress indicator, I recommend using an extended splash screen. The usual pattern is:
- Keep the normal splash screen configured in
Package.appxmanifest. - Add an
ExtendedSplash.xamlpage. - Use the same background color and splash image so the transition looks consistent.
- Set the image size and position in XAML, then navigate to the main page when app initialization is complete.
For example, the extended splash page can host the image in an
Imagecontrol where you set the size directly:<Grid Background="#464646"> <Canvas> <Image x:Name="extendedSplashImage" Source="Assets/SplashScreen.png" Width="300" Height="145" /> </Canvas> </Grid>You can then show this page from
App.OnLaunchedby using theSplashScreenobject from the launch arguments. Microsoft’s guidance for this approach is documented here:Hope this helps! If my explanation and the information I provided were helpful, I would greatly appreciate it if you could follow the instructions here so others with the same problem can benefit as well.
-
Jay Pham (WICLOUD CORPORATION) 3,800 Reputation points • Microsoft External Staff • Moderator
Hello @WoodManEXP ,
Have you seen my answer in this post? If you have any question, feel free to reach out. I'm happy to support you.
-
Jay Pham (WICLOUD CORPORATION) 3,800 Reputation points • Microsoft External Staff • Moderator
Hi @WoodManEXP ,
If you're still interested or have any questions, feel free to reach out whenever it works best for you.
Sign in to comment - Keep the normal splash screen configured in
-
AI answer
The built‑in UWP splash screen does not provide any way to scale or otherwise control the size of the center image at runtime. Its size and placement are fixed by the platform, with only these aspects configurable in the manifest:
- The image file itself (must follow the required pixel sizes, for example 620×300 at 100% scale).
- The background color.
Changing the pixel dimensions of the image beyond the required sizes is not supported; Windows will still treat it as a 620×300 (plus scale) splash asset and center it on the background.
To have full control over the displayed image size, position, and additional UI (such as progress indicators), an extended/custom splash screen page must be created and shown after the system splash screen. The recommended pattern is:
- Configure the normal splash screen in
Package.appxmanifest(Visual Assets → Splash Screen) with the required 620×300 image and background color. - Create an
ExtendedSplash.xamlpage that:- Uses the same background color as the manifest splash.
- Uses the same splash image file in an
Imagecontrol, where its size can be set freely.
- In
ExtendedSplash.xaml, place the image inside aCanvas(or other panel) and size/position it as desired. For example:<Grid Background="#464646"> <Canvas> <Image x:Name="extendedSplashImage" Source="Assets/SplashScreen.png" Width="300" Height="145" /> <!-- Optional progress indicator, etc. --> </Canvas> </Grid> - In
App.OnLaunched, use theSplashScreenobject from the activation args to initially position the extended splash image so it matches the system splash, then navigate toExtendedSplashwhile the app finishes loading.
With this approach, the system splash appears briefly (not customizable in size), then the extended splash takes over where the image size and layout are fully under app control.
References:
AI-generated content may be incorrect. Read our transparency notes for more information.
