Q about splash screen in UWP app

WoodManEXP 80 Reputation points

Hi,

In the .appxmanifest of this UWP app the Visual Assets have been set and Generated. The generated splash screen looks like this

👁 Capture

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!

@WoodManEXP

0 comments No comments

Sign in to comment

2 answers

  1. 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:

    1. Keep the normal splash screen configured in Package.appxmanifest.
    2. Add an ExtendedSplash.xaml page.
    3. Use the same background color and splash image so the transition looks consistent.
    4. 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 Image control 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.OnLaunched by using the SplashScreen object 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.

    1. 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. 

    2. 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
  2. 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:

    1. Configure the normal splash screen in Package.appxmanifest (Visual Assets → Splash Screen) with the required 620×300 image and background color.
    2. Create an ExtendedSplash.xaml page that:
      • Uses the same background color as the manifest splash.
      • Uses the same splash image file in an Image control, where its size can be set freely.
    3. In ExtendedSplash.xaml, place the image inside a Canvas (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>
      
    4. In App.OnLaunched, use the SplashScreen object from the activation args to initially position the extended splash image so it matches the system splash, then navigate to ExtendedSplash while 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.
Sign in to answer

Your answer