gpt4 book ai didi

android - CenterCrop 缩放类型不适用于使用 Picasso 加载的图像

转载 作者:行者123 更新时间:2023-11-29 23:46:56 27 4
gpt4 key购买 nike

我正在尝试将照片(通过 url 下载)加载到 ImageView 中,并让它跨越其父 View 的整个宽度,这是 ListView 中的一行。

<ImageView
android:id="@+id/property_row_photo"
android:layout_width="match_parent"
android:layout_height="@dimen/search_list_item_height"
android:scaleType="centerCrop"
android:adjustViewBounds="true" />

直接在 ImageView 上设置 scaleType 似乎没有任何作用。我知道每一行的高度,所以我正在测量宽度,然后使用它来调用 Picasso 的 Resize 和 CenterCrop 方法,如下所示:

var height = Convert.ToInt32 (ApplicationContext.Activity.Resources.GetDimension (Resource.Dimension.search_list_item_height));
viewHolder.Photo.Measure (0, height);
var width = viewHolder.Photo.MeasuredWidth;
var url = property.ThumbnailPhotoUrl.Replace ("/thumbnails/", "/{0}/{1}/".WithFormat (width, height));
viewHolder.Photo.SetUrlBitmapWithCenterCrop (url, width, height,
loadingResourceId: Resource.Drawable.property_row_background,
errorResourceId: Resource.Drawable.image_not_available);

public static void SetUrlBitmapWithCenterCrop (this ImageView imageView, string url,
int width, int height, int? loadingResourceId = null, int? errorResourceId = null) {
Picasso.With (imageView.Context)
.Load (url)
.Placeholder (loadingResourceId ?? 0)
.Error (errorResourceId ?? 0)
.Resize (width, height)
.CenterCrop ()
.Tag (imageView.Context)
.Into (imageView);
}

不幸的是,没有应用 centerCrop scaleType,我看到每张照片的左右两侧都有大的白色边框。知道我错过了什么吗?请注意,我也尝试过 Fit 方法,但没有成功。

enter image description here

最佳答案

尝试同时使用 fit 和 centerinside

  Picasso.with(getContext()).load(path).fit().centerInside().into(iv);

关于android - CenterCrop 缩放类型不适用于使用 Picasso 加载的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51249733/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com