RecylerView(二)设置布局管理器LayoutManager

设置布局管理器方法,实现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);
垂直布局不反转效果图
RecylerView(二)设置布局管理器LayoutManager_第1张图片
垂直布局不反转.png
  • 反转的垂直布局:数据从下到上加载,滑动从上往下,加载新数据,新数据在顶部
反转垂直布局实现方式
LinearLayoutManager layoutManager1=new LinearLayoutManager(MainActivity.this,LinearLayoutManager.VERTICAL,true);
recyclerView.setLayoutManager(layoutManager1);
垂直Vertical布局反转效果图
RecylerView(二)设置布局管理器LayoutManager_第2张图片
垂直布局反转.png
2、水平Horizontal布局-Gallery

使用布局显示关键字LinearLayoutManager.HORIZONTAL

  • 水平布局不反转,数据从左到右,加载新数据,新数据在右边
水平布局Horizontal实现方式
LinearLayoutManager layoutManager2=new LinearLayoutManager(MainActivity.this,LinearLayoutManager.HORIZONTAL,false);
recyclerView.setLayoutManager(layoutManager2);
水平布局Horizontal不反转效果图
RecylerView(二)设置布局管理器LayoutManager_第3张图片
水平布局不反转.png
  • 水平布局反转,数据从右到左,加载新数据,新数据在左边
水平布局Horizontal反转实现方式
LinearLayoutManager layoutManager2=new LinearLayoutManager(MainActivity.this,LinearLayoutManager.HORIZONTAL,true);
水平布局Horizontal反转效果图
RecylerView(二)设置布局管理器LayoutManager_第4张图片
水平布局反转.png

二、LayoutManager的子类StaggeredGridLayoutManager

new StaggeredGridLayoutManager(int spanCount,int orientation)
使用错列的布局,指定两个参数,一个是要显示的列数spanCount,一个是显示的方向orientation;

1、垂直Vertical实现2列显示方式:
StaggeredGridLayoutManager staggered=newStaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
recyclerView.setLayoutManager(staggered);
垂直Vertical纵向效果图
RecylerView(二)设置布局管理器LayoutManager_第5张图片
StaggeredGridLayoutManager的垂直.png
2、水平Horizontal实现2列的方式
StaggeredGridLayoutManager staggered2=new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.HORIZONTAL);
recyclerView.setLayoutManager(staggered2);
水平Horizontal横向效果图
RecylerView(二)设置布局管理器LayoutManager_第6张图片
StaggeredGridLayoutManager的水平.png

三、LinearLayoutManager 的子类GridLayoutManager

GridLayoutManager更像是LinearLayoutManagerStaggeredGridLayoutManager结合体,可以设置列数,又可以设置显示方向以及设置页面的加载数据是否反转
GridLayoutManager两种构造方法
第一种构造方法:

new GridLayoutManager(Context context, int spanCount)
第一个参数为上下文环境,第二个显示列数,默认显示垂直布局

第二种构造方法:

new GridLayoutManager( Context context, int spanCount, int orientation, boolean reverseLayout)
第一个参数为上下文环境,第二个显示列数,第三个参数为方向,第四个参数为是否反转

1、实现三列垂直Vertical布局
recyclerView.setLayoutManager(gridLayoutManager2);
三列垂直Vertical布局效果图
RecylerView(二)设置布局管理器LayoutManager_第7张图片
GridManagerLayout的使用.png

你可能感兴趣的:(RecylerView(二)设置布局管理器LayoutManager)