Recycler grid layout manager GridLayoutManager usage in Android

Using RecyclerView can make a style similar to GridView, but more powerful than GridView. Here we introduce the usage of RecyclerView and GridLayoutManager.

1. Common methods of GridLayoutManager

  • Constructor: You can specify the number of columns in the grid.
  • setSpanCount: Set the number of columns in the grid.
  • setSpanSizeLookup: Set the placeholder rules for list items. By default, one item occupies one column. If you want an item to occupy multiple columns, you can set the placeholder rules here, that is, the specific implementation class is derived from GridLayoutManager.SpanSizeLookup.

2. Grid layout sample code

//初始化控件
recycler = findViewById(R.id.recycler);
//创建一个垂直方向的网格布局管理器
GridLayoutManager manager = new GridLayoutManager(this,4);
//设置循环视图的布局管理器
recycler.setLayoutManager(manager);
//设置item增加和删除时的动画
recycler.setItemAnimator(new DefaultItemAnimator());
recycler.addItemDecoration(new SpacesItemDecoration(1));
HomeAdapter mAdapter = new HomeAdapter(this);
recycler.setAdapter(mAdapter);

3. Sample code for placeholder application

//初始化控件
recycler = findViewById(R.id.recycler);
//创建一个垂直方向的网格布局管理器
GridLayoutManager manager = new GridLayoutManager(this,4);
//设置网格布局管理器的占位规则
//以下占位规则的意思是,第一项和第二项占两列,其他占一列。
//如果网格的列数为4,那么第一项和第二项平分一行,第二行开始每行有四项
manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
    @Override
    public int getSpanSize(int position) {
        if (position % 6 == 0 || position % 6 == 1){
            return 2;
        }else{
            return 1;
        }
    }
});
//设置循环视图的布局管理器
recycler.setLayoutManager(manager);
//设置item增加和删除时的动画
recycler.setItemAnimator(new DefaultItemAnimator());
recycler.addItemDecoration(new SpacesItemDecoration(1));
HomeAdapter mAdapter = new HomeAdapter(this);
recycler.setAdapter(mAdapter);

In this way, there are 2 items in a row and 4 items in a row, which appear alternately.

Guess you like

Origin blog.csdn.net/weixin_38322371/article/details/114892545