我有一个 RecyclerView
将它用作网格。在每个 View 中,我都从 URL 加载图像。我尝试过 Picasso、Fresco 和 Glide。我对所有这些库只有一个问题,那就是图像被拉伸(stretch)了。这是因为图像的大小不同。我正在提供我的 SimpleDraweeView
示例。
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/sdvRestaurant"
android:layout_width="match_parent"
android:layout_height="@dimen/_120sdp"
app:actualImageResource="@drawable/bg_city"
app:actualImageScaleType="fitXY"
android:adjustViewBounds="true"
android:background="@color/card_shadow_2"/>
我的问题是,避免此图像拉伸(stretch)问题的正确方法是什么?我在想改变图像的大小是不可能的。我试过的秤类型是 fitXY
,但没有帮助。此外,centerCrop
属性裁剪了我的原始图像。请给出一些提示来解决这个问题。提前致谢。
最佳答案
您为图像使用了固定高度,这导致图像被拉伸(stretch)到该尺寸。我想当你在网格中显示它们时,你有必要为每个图像设置固定大小。但是,您可以将布局的整个容器设置为具有固定高度,而您可以将图像高度设置为 wrap_content
。以下是您可能会考虑尝试的方法。
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/sdvRestaurant"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:background="@color/card_shadow_2"
android:src="@drawable/bg_city" />
请检查我是否已将 layout_height
设置为 wrap_content
并将 scaleType
设置为 fitCenter
。希望有帮助!
关于Android图像拉伸(stretch)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53689699/