在工作中遇到商城类的界面,界面上半部分是viewpager,下部分是多列的GridView,具体实现:
1、在设置RecycleView的manager时使用GridlayoutManager的
setSpanSizeLookup属性设置头布局所占的宽度:
manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) { if (position == 0) { return 头布局所占的个数; } else { return 1; } } });
在Adapter中给RecycleView.Adapter设置一个setHeadView()方法,在adapter中接收头布局,然后在判断条目的类型时如果是头的话,就直接将view添加进去,如果是正常的条目,就按正常的加。
具体代码:
GridLayoutManager manager = new GridLayoutManager(getContext(), 2); manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) { if (position == 0) { return 3; } else { return