调整图像大小时,毕加索不保留纵横比

我想保留一个imageView的纵横比,并调整它的大小,尽可能大地填充/合适,而不会使用毕加索扭曲/改变纵横比。

到目前为止,我发现这一点:

缩放在毕加索的图像大小

这表明使用:

.fit().centerInside() 

然而,当我尝试它:

  Picasso.with(this).load(boxart) .fit().centerInside() .into(imageItem); 

随着我的XML:

 ... <RelativeLayout android:id="@+id/rl_ListView1" android:layout_width="0dp" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_centerInParent="true" android:layout_gravity="left" android:layout_weight="0.3" > <ImageView android:id="@+id/imageView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:scaleType="fitXY" android:layout_gravity="left" /> </RelativeLayout> ... 

然而,图像仍然出现扭曲(它显得太长而瘦) – 它的原始长宽比是扭曲的),我不确定为什么。

在这里输入图像说明

Solutions Collecting From Web of "调整图像大小时,毕加索不保留纵横比"

Сode下面应该工作:

 .fit().centerCrop() 

CenterInside CenterInside()是一种裁剪技术,可缩放图像,使两个尺寸等于或小于ImageView的请求边界。 图像将完整显示,但可能不会填满整个ImageView。

 Picasso .with(context) .load(UsageExampleListViewAdapter.eatFoodyImages[0]) .resize(600, 200) .centerInside() .into(imageViewResizeCenterInside);