我想保留imageView的宽高比,并调整它以尽可能大地填充/调整,而不会使用Picasso扭曲/改变它的宽高比。
到目前为止,我发现了这个:
建议使用:
.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>
然而,图像仍然显得扭曲(看起来太长而且很瘦 - 它的原始宽高比是扭曲的)我不确定为什么。
答案 0 :(得分:9)
下面的代码应该有效:
.fit().centerCrop()
答案 1 :(得分:3)
CenterInside CenterInside()是一种裁剪技术,可以缩放图像,使两个维度都等于或小于ImageView的请求边界。图像将完全显示,但可能无法填满整个ImageView。
Picasso
.with(context)
.load(UsageExampleListViewAdapter.eatFoodyImages[0])
.resize(600, 200)
.centerInside()
.into(imageViewResizeCenterInside);