我有一个使用 StaggeredGridLayoutManager 的 RecyclerView,例如 2 列,我想为第一列和第二列设置不同的背景,如何做到这一点,在此先感谢。
问问题
269 次
2 回答
1
Base on this answer, I guess you can try:
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
StaggeredGridLayoutManager.LayoutParams lp =
(StaggeredGridLayoutManager.LayoutParams) holder.itemView.getLayoutParams();
switch (lp.getSpanIndex()) {
case 0:
holder.itemView.setBackgroundColor(Color.GREEN);
break;
case 1:
holder.itemView.setBackgroundColor(Color.RED);
break;
}
}
于 2017-12-18T17:09:37.540 回答
0
我通过设置一个 custom 来解决这个问题RecyclerView.ItemDecoration
,覆盖该方法getItemOffsets
并用于StaggeredGridLayoutManager.LayoutParams#getSpanIndex
设置不同的背景。
于 2017-12-21T09:56:17.023 回答