如何使用StaggeredGridLayoutManager和动态子高度在RecyclerView中设置高度?

时间:2015-06-05 16:11:18

标签: android performance android-recyclerview

首先要明确的是,我已经很好地工作了,我在这里只是想问一下是否有“更好的方法”,以及通常的“最佳实践”,因为我在这期间有一个非常小的口吃滚动,我认为这是由于不断变化的孩子身高,所以最好是谷歌有人能回答这个问题,或者有人完全确定最佳做法是什么。

关于这一点。目前,我以这种方式设定了高度:

@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {

    holder.image.getLayoutParams().height = newHeight;

}

每个孩子都有个人“newHeight”,这是根据图像宽高比计算的。

它工作正常,但是有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

获取图像时,请保存其边界,以便下次需要显示相同图像时,项目不会移动。

此外,如果您拥有向您发送图像信息的后端API,请在API响应中发送元数据(图像w / h),以便您可以将占位符设置为正确的大小。