android recyclerview怎么设置每次只能滑动一页

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android recyclerview怎么设置每次只能滑动一页相关的知识,希望对你有一定的参考价值。

参考技术A SnapHelper了解一下 自定义比较麻烦
android内置了LinearSnapHelper & PagerSnapHelper
你想实现的效果是应该是PagerSnapHelper
参考技术B 什么样的需求要求你这么做?每次滑动一页你为什么还要用recyclerview了?

Android RecyclerView使用GridLayoutManager间距设置

使用RecyclerView设置间距,需要重写RecyclerView.ItemDecoration这个类。有如下的效果图需要实现,间距只有中间的格子和底部的格式之间有。

 
技术分享图片
Paste_Image.png

实现方法很简单,因为这个效果是每一行有3个格子,只要每行的第一个格式左边间距为0即可以。其他都设置左边距和底部距离。

代码如下:

public class SpaceItemDecoration extends RecyclerView.ItemDecoration {

    private int space;

    public SpaceItemDecoration(int space) {
        this.space = space;
    }

    @Override
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
        //不是第一个的格子都设一个左边和底部的间距
        outRect.left = space;
        outRect.bottom = space;
        //由于每行都只有3个,所以第一个都是3的倍数,把左边距设为0
        if (parent.getChildLayoutPosition(view) %3==0) {
            outRect.left = 0;
        }
    }

}

 

以上是关于android recyclerview怎么设置每次只能滑动一页的主要内容,如果未能解决你的问题,请参考以下文章

怎样才能使Android RecyclerView透明吗

Android RecyclerView实现横向滑动翻页

Android之RecyclerView简单使用

Android RecyclerView刷新数据无效的其中一个原因

Android多级列表

android recyclerview添加了一个数据怎么刷新