具有上一页和下一页边界的RecyclerView?

时间:2018-08-29 23:33:46

标签: android android-recyclerview android-viewpager

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

vp.setPageMargin(-200) 

可能会导致如下所示的UI:

enter image description here

但是如何使用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()允许我滚动并放置页面快照,但是,如何显示页面?预先感谢。

1 个答案:

答案 0 :(得分:1)

  

但是如何使用RecyclerViews完成此操作?这些物品必须是   均匀分布,并且当前项目应居中。

您只需在ViewHolder中设置RecyclerView项目视图的宽度即可达到这种效果。

您应该使用LinearSnapHelper而不是PagerSnapHelper