启动画面调整不正确

Tel*_*ian 9 android splash-screen xamarin

我使用下面的样式在我的Xamarin Android应用程序中显示启动画面但是图像总是显示不正确的大小调整.我希望它以正确的尺寸调整大小,但它总是扩展到适合屏幕.

<?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>
Run Code Online (Sandbox Code Playgroud)

启动画面活动

  [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));
    }
  }
Run Code Online (Sandbox Code Playgroud)

iva*_*iuk 9

对于背景可绘制,您应该使用图层列表。例如制作 bitmap_splash.xml:

<item android:drawable="@color/background"/>

<item>
    <bitmap
        android:gravity="center"
        android:src="@drawable/splashscreenimage" />
</item>
Run Code Online (Sandbox Code Playgroud)

然后以您的风格使用它:

...
<style name="Theme.Splash" parent="android:Theme">
    <item name="android:windowBackground">@drawable/bitmap_splash</item>
...
Run Code Online (Sandbox Code Playgroud)


t9m*_*ike 4

一个问题是 windowBackground 大小调整为全屏大小,包括设备顶部或底部的状态栏。但状态栏仍然显示。我对Android Activity Background Image 的响应使用了 windowContentOverlay,其中不包括状态栏。