Android 带全宽标题的RecyclerView GridLayoutManager

Android 带全宽标题的RecyclerView GridLayoutManager,android,android-recyclerview,gridlayoutmanager,Android,Android Recyclerview,Gridlayoutmanager,我使用了一个非常有用的示例来显示RecyclerView和GridLayoutManager,以显示带有标题的网格 它看起来相当不错,但我的图形设计师希望标题项占据RecyclerView的整个宽度。现在有填充物 当我设置GridLayoutManager时,我添加了填充(我仍然希望用于其他网格项):[它使用的是Xamarin C#] 那么,如何将标题项的填充设置为不同的…或使其在填充上画出自身?尝试以下方法: mLayoutManager = new GridLayoutManager(thi

我使用了一个非常有用的示例来显示RecyclerView和GridLayoutManager,以显示带有标题的网格

它看起来相当不错,但我的图形设计师希望标题项占据RecyclerView的整个宽度。现在有填充物

当我设置GridLayoutManager时,我添加了填充(我仍然希望用于其他网格项):[它使用的是Xamarin C#]

那么,如何将标题项的填充设置为不同的…或使其在填充上画出自身?

尝试以下方法:

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;
                }
            }
        });
并查看以下链接:


你救了我一天!getItemViewType(位置)正是我迫切需要的一行!如何处理最后一个项目的项目装饰?我想我们永远不会know@Kenji作为提示,您可以检查:它有一个视图引用,您有它的位置,所以您可以使用您的一些想法修改它;)伟大的解决方案,救了我的命:)
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;
                }
            }
        });