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));
}
}
For background drawable you should use layer-list. For example make bitmap_splash.xml:
<item android:drawable="@color/background"/>
<item>
<bitmap
android:gravity="center"
android:src="@drawable/splashscreenimage" />
</item>
and then use it in your style:
...
<style name="Theme.Splash" parent="android:Theme">
<item name="android:windowBackground">@drawable/bitmap_splash</item>
...