我希望使用Picasso保留imageView的宽高比并将其调整大小以填充/适应尽可能大的空间,而不会扭曲/改变其宽高比。
到目前为止,我找到了这个链接:在Picasso中缩放图像大小
其中建议使用:
然而当我尝试它时:
然而,图像仍然显示为扭曲的(它看起来太长而瘦了 - 它的原始纵横比是扭曲的),我不确定为什么。
到目前为止,我找到了这个链接:在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>
然而,图像仍然显示为扭曲的(它看起来太长而瘦了 - 它的原始纵横比是扭曲的),我不确定为什么。
fit()
的Javadoc表示它将“调整图像大小以完全适应目标ImageView”,即忽略纵横比。 - Christopher OrrcenterInside()
应该能够解决这个问题,即调整图像的大小,使其适应ImageView
内部并保持纵横比。我怀疑android:scaleType:fitXY
是问题所在。 - david.miholaImageView
不匹配,这似乎是无法避免的。或者你想调整ImageView
的大小,使其适应图像的宽高比 - 在你的情况下,这将使其总体上略微更宽。在这种情况下,请参阅此博客文章:https://medium.com/@jpardogo/scale-a-bitmap-to-fit-height-or-width-ebc0ad1fb11a -- 我最初在那里发表了一些澄清问题的评论,但似乎当他转移到medium.com时,所有评论都丢失了...如果需要更多帮助,请再次提问! - david.mihola