FFImageloading xamarin android 适合父级

FFImageloading xamarin android fit to parent

我正在使用 mvvmcross 框架在 Xamarin 中创建一个 android 应用程序。

我正在尝试向我们的用户显示来自服务器的图片(图片是 Urls)。但是图片拒绝缩放以填充它们的父级。 我怎样才能使这些图像达到合适的效果? ,我在 Width 标签上使用 FillParent。但是图像拒绝缩放到容器的大小。

我目前的设置

   <FFImageLoading.Cross.MvxImageLoadingView
    android:id="@+id/my_plannymap_listitem_title_picture"
    android:layout_width="fill_parent"
    android:layout_height="150dp"
    local:MvxBind="DataLocationUri ImageUrl; Click OpenDetailCommand" />

上面的代码创建了(对不起体积的东西),正如你所看到的图像没有填充,它们保持它们的 "original" 大小

其他activity(此处同样问题)

    <FFImageLoading.Cross.MvxImageLoadingView
            android:layout_width="fill_parent"
            android:layout_height="150dp"
            android:scaleType="fitCenter"
            android:id="@+id/overview_image"
            android:background="#580AB0"
            local:MvxBind="DataLocationUri ImageUrl"
            TransparencyEnabled="false"
            DownSampleToFit="true" />

听起来你想将高度固定为150dp,将宽度固定为父级的宽度。如果是这种情况,它可以完成,但它会拉伸任何不正确宽高比的图像。

<FFImageLoading.Cross.MvxImageLoadingView
    android:id="@+id/my_plannymap_listitem_title_picture"
    android:layout_width="match_parent"
    android:layout_height="150dp"
    android:scaleType="fitXY"
    local:MvxBind="DataLocationUri ImageUrl; Click OpenDetailCommand" />

(注意我使用 match_parent 因为 fill_parentdeprecated

如果您不希望图像以一种奇怪的方式拉伸并且您不能保证传入图像的纵横比与布局的纵横比相匹配,您需要 select 一个纵横比(要么width 或 height) 来指定另一个的大小,这样比例保持不变。你可以用下面的方法来做到这一点(在这种情况下你决定宽度,并根据图像的纵横比计算它的高度):

<FFImageLoading.Cross.MvxImageLoadingView
    android:id="@+id/my_plannymap_listitem_title_picture"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    local:MvxBind="DataLocationUri ImageUrl; Click OpenDetailCommand" />

在几乎所有无法保证要缩放的图像的纵横比的情况下,第二个选项比第一个选项提供更好的结果。