我偶然发现了RecyclerView
的问题。情况如下:
Activity
导航到另一个RecyclerView
,第二个导航Intent
RecyclerView
中读取一个索引并将其RecyclerView
跳转到该位置(因此从用户的角度来看,它可能会从中间“开始”)View
包含新闻列表,每个新闻都有一个网络获取的缩略图ViewHolder
内的ViewHolder
首先会以高度X充气,这可能会在缩略图后更改获得)现在的问题是,当用户从他们启动的项目向上滚动时,会创建ViewHolders
并且 Glide 会请求缩略图。它导致列表项具有一些高度,并在获得缩略图后一秒钟更改它,这反过来导致令人讨厌的“跳跃”(由于大小改变)。它只发生3-4次,直到创建足够RecyclerView
来处理整个{{1}}。
知道怎么防止这种情况?理想情况下,我想让当前的项目向上扩展。
我已经尝试从底部制作物品堆栈,但它没有解决问题,只是让它发生在下面的项目而不是上面的项目。此外,我不能也不想预测获得的缩略图的大小。
答案 0 :(得分:1)
我会在循环视图中使用占位符图像。并在该图像可用(下载)时替换该图像。
当你知道tumbnails的大小时,这当然有效。