裁剪并将图像填充到固定尺寸,而不拉伸或延伸超过ImageView

时间:2014-10-13 20:38:30

标签: android imageview

我有一个需要固定大小的ImageView,比如50x50。我想从网络上获取图像,让图像完全填满imageView的区域,但不显示图像的任何超出50x50大小的部分。我的目标是API 14及更高版本,因此setCropToPadding不是一种选择。

目前我的ImageViewScaleType CENTER_CROP,但图片会延伸到视图的边缘。

是否有另一种方法可以用图像填充ImageView但不会超出边界而不会扭曲图像?

1 个答案:

答案 0 :(得分:0)

我的问题是我在ImageView上设置了填充。 CENTER_CROP的定义表示它将图像的宽度/高度设置为至少视图MINUS填充的宽度/高度(分别)。这允许ImageView返回填充ImageView减去填充的内容,但仅在填充处裁剪。

要解决此问题,我将imageView的填充设置为0,并将LayoutParams设置为具有我真正想要的填充值的边距。在API 16中,他们添加了setCropToPadding,这正是我想要的,但这个解决方案适用于较低版本。