首页 > 解决方案 > 预加载具有动态大小的图像并在 RecyclerView 中正确显示它们

问题描述

我有一个水平的 RecyclerView 和一堆不同高度和宽度的图像。问题是试图让它们进入具有固定高度属性和 wrap_content 宽度的 ImageView。

<ImageView
        android:id="@+id/image_main"
        android:layout_width="wrap_content"
        android:layout_height="188dp"
        android:adjustViewBounds="true"
        android:scaleType="centerCrop" />

这个 gif 准确地显示了我想要实现的目标。

在此处输入图像描述

我尝试了 Picasso 和 Glide,但我仍然无法弄清楚。

我使用毕加索的调整大小实现了一些乐趣.resize(0, targetedHeight),但是当图像加载并且加载不顺畅时会发生故障效果(位置 2 在位置 1 之前加载)。

Glide 有一个用于 RecyclerView 的预加载库,但根据我的阅读,它只适用于固定的高度和宽度。

我的猜测是我必须以某种方式预加载图像位图并自己更改 ImageView 宽度。欢迎 Picasso 和 Glide 的答案!

标签: androidandroid-recyclerviewpicassoandroid-glide

解决方案


推荐阅读