RecyclerView系列:GridLayoutManager的构造函数中的orientation理解

Posted zhangjin1120

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RecyclerView系列:GridLayoutManager的构造函数中的orientation理解相关的知识,希望对你有一定的参考价值。

  • GridLayoutManager的构造函数如下:
  public GridLayoutManager(
                            Context context,
                             int spanCount,
                             @RecyclerView.Orientation int orientation,
                             boolean reverseLayout
    ) {
        super(context, orientation, reverseLayout);
        setSpanCount(spanCount);
    }

其中orientation参数的含义是:滑动方向,并不是排列方向

  • 默认情况下:
rv.setLayoutManager(new GridLayoutManager(MainActivity.this,4));

其他详细代码参考RecyclerView系列:开源框架BaseRecyclerViewAdapterHelper使用,运行效果如下:

  • 设置HORIZONTAL
 rv.setLayoutManager(new GridLayoutManager(MainActivity.this, 4, GridLayoutManager.HORIZONTAL, false));

得到效果如下:

  • 设置VERTICAL
rv.setLayoutManager(new GridLayoutManager(MainActivity.this,4,GridLayoutManager.VERTICAL,false));

得到效果如下:

其实和LinearLayoutManager是一致的,从下面的代码可以看到,LinearLayoutManager默认也是VERTICAL,也就是说默认是垂直滑动的。

  public LinearLayoutManager(Context context) {
        this(context, RecyclerView.DEFAULT_ORIENTATION, false);
    }

//RecyclerView.java中
  static final int DEFAULT_ORIENTATION = VERTICAL;

以上是关于RecyclerView系列:GridLayoutManager的构造函数中的orientation理解的主要内容,如果未能解决你的问题,请参考以下文章

recyclerview gridlayout 平分中间空白区域

recyclerview gridlayout 平分中间空白区域

recyclerview gridlayoutmanager 怎么设置列数

我正在使用带有 spanCount 2 的 gridLayout 但我想在每 10 个项目后显示 spanCount 1

RecyclerView 上下左右四种间距的设置方法

RecyclerView系列:RecyclerView嵌套RecyclerView(BaseRecyclerViewAdapterHelper实现)