RecylerView(二)设置布局管理器LayoutManag
设置布局管理器方法,实现RecylerView布局里面的内容显示方式;
recyclerView.setLayoutManager(LayoutManager layoutManager)
使用三个类
- LinearLayoutManager:线性布局管理器
- StaggeredGridLayoutManager: 错列网格布局管理器
- GridLayoutManager:网格布局管理器
一、LayoutMananger子类LinearLayoutManager
一般使用LinearLayoutManager的两种构造方法
第一种构造方法:
new LinearLayoutManager(Context context)
参数为上下文环境,实现的是默认的垂直布局
第二种构造方法:
new LinearLayoutManager( Context context, int orientation, boolean reverseLayout)
第一个参数为上下文环境,第二个参数为布局显示方式,第三个参数为布尔值是否反转
1、垂直Vertical布局-显示跟ListView一样
使用布局显示关键字LinearLayoutManager.VERTICAL
- 不反转的垂直布局:数据从上到下加载,加载新数据,新数据在底部,滑动从下往上,
垂直布局不反转实现方式有两种
LinearLayoutManager layoutManager=new LinearLayoutManager(MainActivity.this);
LinearLayoutManager layoutManager1=new LinearLayoutManager(MainActivity.this,LinearLayoutManager.VERTICAL,false);
recyclerView.setLayoutManager(layoutManager1);
垂直布局不反转效果图
垂直布局不反转.png- 反转的垂直布局:数据从下到上加载,滑动从上往下,加载新数据,新数据在顶部
反转垂直布局实现方式
LinearLayoutManager layoutManager1=new LinearLayoutManager(MainActivity.this,LinearLayoutManager.VERTICAL,true);
recyclerView.setLayoutManager(layoutManager1);
垂直Vertical布局反转效果图
垂直布局反转.png2、水平Horizontal布局-Gallery
使用布局显示关键字LinearLayoutManager.HORIZONTAL
- 水平布局不反转,数据从左到右,加载新数据,新数据在右边
水平布局Horizontal实现方式
LinearLayoutManager layoutManager2=new LinearLayoutManager(MainActivity.this,LinearLayoutManager.HORIZONTAL,false);
recyclerView.setLayoutManager(layoutManager2);
水平布局Horizontal不反转效果图
水平布局不反转.png- 水平布局反转,数据从右到左,加载新数据,新数据在左边
水平布局Horizontal反转实现方式
LinearLayoutManager layoutManager2=new LinearLayoutManager(MainActivity.this,LinearLayoutManager.HORIZONTAL,true);
水平布局Horizontal反转效果图
水平布局反转.png二、LayoutManager的子类StaggeredGridLayoutManager
new StaggeredGridLayoutManager(int spanCount,int orientation)
使用错列的布局,指定两个参数,一个是要显示的列数spanCount,一个是显示的方向orientation;
1、垂直Vertical实现2列显示方式:
StaggeredGridLayoutManager staggered=newStaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
recyclerView.setLayoutManager(staggered);
垂直Vertical纵向效果图
StaggeredGridLayoutManager的垂直.png2、水平Horizontal实现2列的方式
StaggeredGridLayoutManager staggered2=new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.HORIZONTAL);
recyclerView.setLayoutManager(staggered2);
水平Horizontal横向效果图
StaggeredGridLayoutManager的水平.png三、LinearLayoutManager 的子类GridLayoutManager
GridLayoutManager更像是LinearLayoutManager和StaggeredGridLayoutManager结合体,可以设置列数,又可以设置显示方向以及设置页面的加载数据是否反转;
GridLayoutManager两种构造方法
第一种构造方法:
new GridLayoutManager(Context context, int spanCount)
第一个参数为上下文环境,第二个显示列数,默认显示垂直布局
第二种构造方法:
new GridLayoutManager( Context context, int spanCount, int orientation, boolean reverseLayout)
第一个参数为上下文环境,第二个显示列数,第三个参数为方向,第四个参数为是否反转
1、实现三列垂直Vertical布局
recyclerView.setLayoutManager(gridLayoutManager2);