36

我在这里使用了一个非常有用的示例显示 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);

那么,如何将标题项的填充设置为不同的......或者让它在填充上绘制自己?

4

1 回答 1

94

试试这个:

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:
                    default:
                        return 1;
                }
            }
        });

并检查这些链接:

于 2016-07-29T10:28:19.623 回答