您的位置:首页 > 移动开发 > Android开发

RecyclerView表格展示GridView加HeadView效果

2016-12-21 17:50 501 查看
使用GridLayoutManager 假设列数这里为2,一行分为2个位置。
GridLayoutManager.SpanSizeLookup()中
getSpanSize(int position)设置当前item占用的比例;
注意:需要先setAdapter ,GridLayoutManager 才能针对这个adapter起作用。
activity中
recyclerView.setAdapter(adapter);GridLayoutManager manager = new GridLayoutManager(this, 2);manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {@Overridepublic int getSpanSize(int position) {switch (position) {case 0:return 2;//第一行占2个位置(全部位置)。default:return 1;}}});recyclerView.setLayoutManager(manager);
adapter中
public int getItemCount() {if (data.size() == 0) {return 0;} else {return data.size() + 1;}}
public int getItemViewType(int position) {if (position == 0) {return TYPE_IMAGE;} else {return TYPE_GRID;}}
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {if (TYPE_IMAGE == viewType) {View headImage = inflater.inflate(R.layout.xx, null);imgHolder holder = new imgHolder(headImage);return holder;} else {View goodView = inflater.inflate(R.layout.xxx, null);goodHolder holder = new goodHolder(goodView);return holder;}}
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {switch (position) {case 0:imgHolder mHolder = (imgHolder) holder;mHolder.img.setImageURI(Uri.parse(URLConstant.IMAGE_DOMAIN + discount_info.activity_s));break;default<4000/span>:goodHolder goodHolder = (goodHolder) holder;goodHolder.tv_number.setText(data.get(position-1).goods_gc + "件");break;}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息