Android图像拉伸(stretch)问题

标签 android android-imageview picasso android-glide fresco

我有一个 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/

相关文章:

android - TextView 失败

Android Studio onClick按钮在另一个 Activity 中显示ImageView

Android:以编程方式设置 ImageView layout_height

android picasso 清除缓存

Android:在浏览器/YouTube App中打开WebView的iframe

android - 无法编译NDK android项目

android - 如何在修改数组后更新 ListView 中的项目

android - 如何在android中创建视频预览?

android - 如何使 Glide 显示像 picasso ?

picasso 产生OutOfMemoryError