在RecyclerView中绘制空单元
问题描述:
在我的情况下,我有Grid Layout Manager
和自定义Decorator
的回收查看。在每一行(最多有3列)可以是1到3个项目。在RecyclerView中绘制空单元
问题是如何绘制空单元格的情况下,当一行或两行项目的计数? Warning
!!!这不是lastRow
!
例如: Span
计数在第3行,要绘制的元素集合= 2如何在第3列绘制空单元格? Span
计数在第3行,要绘制的集合中的元素= 1如何绘制第2列和第3列中的空单元格?
答
您可以通过定义不同的视图类型来实现它。
只重载getItemViewType()
@Override
public int getItemViewType(int position) {
if (position < mElementsList.size()) {
return ITEM_TYPE_NORMAL;
} else if (position >= mElementsList.size()) {
return ITEM_TYPE_EMPTY;
}
}
}
然后覆盖onCreateViewHolder
onCreateViewHolder(Viewgroup parent, int viewType) {
if(viewType == ITEM_TYPE_NORMAL) {
//Use layout for normal type
} else if (viewType == ITEM_TYPE_EMPTY) {
//Use layout for emptyType
}
}
我能想到加入 '虚拟' 空数据(空),当数据为null,绘制空场在你的适配器中。也许别人知道更好的解决方案:D – Vucko
@Vucko感谢您的回复兄弟,在我的情况下这是一个不好的选择,所以我问这个问题寻找更奇特的解决方案。由于在谷歌搜索没有任何结果。 –
如何在这[问题]的第二个答案(https://stackoverflow.com/questions/28531996/android-recyclerview-gridlayoutmanager-column-spacing/28533234) – Vucko