Search code examples
androidsplash-screenxamarin

Splash screen is resizing incorrectly


I am using the style below to show a splash screen in my Xamarin Android application however the image always shows with incorrect sizing. I would like it to resize with the correct dimensions however it always expands to fit the screen.

<?xml version="1.0" encoding="utf-8" ?>
<resources>
  <style name="Theme.Splash" parent="android:Theme">
    <item name="android:windowBackground">@drawable/splashscreenimage</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:adjustViewBounds">true</item>
    <item name="android:scaleType">centerCrop</item>
  </style>
</resources>

The splash screen activity

  [Activity(MainLauncher = true, Theme = "@style/Theme.Splash", NoHistory = true)]
  public class SplashScreenActivity : Activity
  {
    protected override void OnCreate(Bundle bundle)
    {
      base.OnCreate(bundle);

      // Start our real activity
      StartActivity(typeof(LoginActivity));
    }
  }

Solution

  • One issue is that windowBackground is sized to full screen size, inclding status bar at top or bottom of device. But the status bar is still shown. My response to Android Activity Background Image uses windowContentOverlay, which excludes the status bar.