我需要以填满整个ImageView为目的,将原图的中心对准ImageView的中心,等比例放大原 图,直到填满ImageView为止(指的是ImageView的宽和高都要要填满),原图超过 ImageView的部分作裁剪处理,但是在Android中的ImageView里投置centerCrop后导致图 片失真,该怎样解决
时间: 2023-08-03 22:06:52 浏览: 163
Android中ImageView.src设置图片拉伸、填满控件的方法
您可以尝试使用以下代码来实现您的需求:
```
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
Glide.with(context)
.load(imageUrl)
.centerCrop()
.into(imageView);
```
这里使用了 Glide 图片加载库来加载图片,并使用 `centerCrop()` 方法将图片进行等比例缩放和裁剪。同时,设置 `setScaleType()` 方法为 `CENTER_CROP` 可以确保图片填满整个 ImageView。
如果您仍然觉得图片失真,您可以尝试使用 `fitCenter()` 方法来替代 `centerCrop()`,这样可以让图片等比例缩放并居中显示,但可能会导致 ImageView 上下或左右有空白区域。
```
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
Glide.with(context)
.load(imageUrl)
.fitCenter()
.into(imageView);
```
阅读全文