以下是xml文件
Fragment
Recyclerview
:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/list_photos"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.photos.PhotosFragment"
tools:listItem="@layout/card_photo">
</android.support.v7.widget.RecyclerView>
上述Recyclerview
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/card_photo"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/photo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
tools:src="@drawable/placeholder_photo_item" />
</android.support.v7.widget.CardView>
它看起来像这样:
正如您所看到的,滚动时它不会快速平滑地加载。它停止滚动某些项目。
此外,当我向上滚动时,它会直接跳转到顶部项目。
下面是RecyclerView
的完美平滑和快速滚动效果,我可以通过制作Recyclerview
项目来实现这里(CardView
})身高到"match_parent"
。
但这不是我希望列表看起来像的样子。该列表应具有可变长度的图像,它们之间没有空格。
答案 0 :(得分:2)
我正在使用Glide
加载图片,并通过Glide
添加占位符来修复它:
GlideApp.with(mContext)
.load(url)
.placeholder(R.color.placeholder)
.into(holder.photo);
现在RecyclerView
滚动顺畅,不会跳到上滚动的第一项。
虽然它已经修复但我真的不知道为什么RecyclerView
会以这种方式行事。