我使用非常有用的示例here来显示RecyclerView和GridLayoutManager以显示带标题的网格。
它看起来很不错,但我的平面设计师希望标题项占据RecyclerView的整个宽度。现在有填充。
当我设置GridLayoutManager时,我添加了填充(我仍然想要其他网格项):[它使用Xamarin C#]
var numColumns = myListView.MeasuredWidth / tileSizeMax;
myGridView.SetPadding(tilePadding, tilePadding, tilePadding, tilePadding);
layoutManager = new GridLayoutManager(Activity, numColumns);
myListView.SetLayoutManager(layoutManager);
那么,如何将标题项的填充设置为不同...或者让它自己在填充上绘制?
答案 0 :(得分:46)
试试这个:
mLayoutManager = new GridLayoutManager(this, 2);
mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
switch(mAdapter.getItemViewType(position)){
case MyAdapter.HEADER:
return 2;
case MyAdapter.ITEM:
return 1;
default:
return 1;
}
}
});
并查看以下链接:
http://blog.sqisland.com/2014/12/recyclerview-grid-with-header.html Set span for items in GridLayoutManager using SpanSizeLookup