Xamarin Android-闪屏图像匹配

Xamarin Android-闪屏图像匹配,xamarin,xamarin.forms,xamarin.android,splash-screen,Xamarin,Xamarin.forms,Xamarin.android,Splash Screen,我有一个Xamarin.Forms应用程序,但这个问题只涉及Android 我有一个带有徽标和背景色的启动屏幕,我想更新它。我使用了一个splash主题样式,它指的是包含图像的xml 主题: XML 然后我使用一个splash活动使它工作,并且工作得非常完美 现在我想用一个图像作为背景,而不是颜色,所以我所做的是创建这个背景图像,上面有徽标,保存为一个图像,并将其用作启动屏幕。这造成了一些问题 该图像在屏幕上显示得太小,我希望该图像适合屏幕(因此全屏具有锁定的纵横比),但我无法使其正常工作。

我有一个Xamarin.Forms应用程序,但这个问题只涉及Android

我有一个带有徽标和背景色的启动屏幕,我想更新它。我使用了一个splash主题样式,它指的是包含图像的xml

主题:

XML

然后我使用一个splash活动使它工作,并且工作得非常完美

现在我想用一个图像作为背景,而不是颜色,所以我所做的是创建这个背景图像,上面有徽标,保存为一个图像,并将其用作启动屏幕。这造成了一些问题

该图像在屏幕上显示得太小,我希望该图像适合屏幕(因此全屏具有锁定的纵横比),但我无法使其正常工作。我能找到的唯一选择是“填充”,这会导致图像变形。我可以在我的屏幕上得到完美的效果,但是不同比例的屏幕可能会看到变形的图像。我的图像是一个正方形,以确保在使用fit时,整个屏幕都被填满。现在,我只是在寻找一种方法,使图像适合屏幕,而不是填充屏幕

我试图将我的问题形象化:

所以我在左边有一个正方形的图像,当显示在手机上时(右边),它应该适合屏幕,而不改变纵横比

我读过一些将图像包装在xml中并将其设置在那里的内容,但这对我来说不起作用


我希望有人能帮忙。

这和你的方法一样。这对我有用。“launchscreen”是带有的背景图像,“testappwhitecolor”是背景图像的颜色

XML


主题


@可绘制/背景\u启动屏幕
真的
真的
假的
@空的

好的,现在我想用一张在纵横比方面适合整个屏幕的图像替换背景色。你需要用图像的背景色替换背景色(android:color=“@color/testappwhitecolor”),例如。如果你的图像背景色是红色,那么用红色替换testappwhitecolor。然后将所有不同屏幕大小的图像放在相应的文件夹中。@GaneshGebhard这行得通吗?不行,但我通过填充屏幕暂时解决了这个问题。它不是很好,但很有效。@GaneshGebhard最好的方法是为不同的设备屏幕创建适当大小(像素)的图像,然后将这些图像放入相应的可绘制文件(可绘制ldpi、可绘制mdpi、可绘制hdpi等)中。
<?xml version="1.0" encoding="UTF-8" ?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
   <item>
    <color android:color="@color/testappwhitecolor" />
   </item>
  <item
      android:drawable="@drawable/launchscreen"
      android:gravity="center"/>
</layer-list>
    <style name="Theme.Splash" parent="@style/Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowBackground">@drawable/background_splash_screen</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowDisablePreview">false</item>
        <item name="android:windowAnimationStyle">@null</item>
    </style>