开源软件名称:OptionalSpanSizeRecycleGridView
开源软件地址:https://gitee.com/vigiles/OptionalSpanSizeRecycleGridView
开源软件介绍:
可以自由指定屏幕宽分为几列,3列、4列?每个Item根据其自身Bean中的width和height值进行运算得出占用几列,1列、2列、三列?可以实现分组,只要在Bean中为groupId设置值即可。看下面的代码,很容易理解。 用法// 40个假数据ArrayList<PictureBean > mPS = PictureFactory.getPictures(140); // 注意Bean要实现ICVURatioBean接口Collections.sort(mPS, new PictureCompartor()); // 0.重要!!!先按目标排版排序!!!int columns = 6; // 1.将屏幕分为多少列CVURatioUtil.ratio(columns, mPS); // 2.对datas进行处理CVURatioLayoutManager mGridLytManager = new CVURatioLayoutManager(this, columns, mPS); // 3.指定布局管理器PictureAdapter mAdapter = new PictureAdapter(mPS); // 普通适配器RecyclerView mRecyclerView = (RecyclerView) findViewById(R.id.rlv);mRecyclerView.setLayoutManager(mGridLytManager);mRecyclerView.setAdapter(mAdapter); 原理RecyclerView的GridLayoutManager中有个SpanSizeLookup对象,用来控制每个Item占用多少列。事先计算好每个Item要显示多少列,用时直接取出来即可。 |
请发表评论