首页 > 解决方案 > 具有上一页和下一页边界的 RecyclerView?

问题描述

使用 ViewPagers,可以通过“setPageMargin”轻松实现稍微显示上一页和下一页。例如,

vp.setPageMargin(-200) 

可能会导致如下 UI:

在此处输入图像描述

但是如何使用 RecyclerViews 来实现呢?这些项目必须均匀分布,并且当前项目应该居中。

为了设置我的 RecyclerView 来模仿 ViewPager,我利用了 PagerSnapHelper()

LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);
SnapHelper snapHelper = new PagerSnapHelper();
RecyclerView rvHorizontal = findViewById(R.id.rv_horiz);
rvHorizontal.setLayoutManager(linearLayoutManager);
snapHelper.attachToRecyclerView(rvHorizontal);
// set adapter
mAdapter = new HorizontalAdapter(context, mData);
rvHorizontal.setAdapter(mAdapter);

PagerSnapHelper() 允许我滚动并有一个页面捕捉到位,但是,我如何让页面显示?提前致谢。

标签: androidandroid-recyclerviewandroid-viewpager

解决方案


但是如何使用 RecyclerViews 来实现呢?这些项目必须均匀分布,并且当前项目应该居中。

您可以只设置项目视图的宽度ViewHolder来实现此效果RecyclerView

你应该使用LinearSnapHelper而不是PagerSnapHelper.


推荐阅读