为了账号安全,请及时绑定邮箱和手机立即绑定

RecyclerView水平滚动卡扣在中心

RecyclerView水平滚动卡扣在中心

森林海 2019-08-31 10:56:05
我正在尝试使用RecyclerView在这里制作类似旋转木马的视图,我希望项目在滚动时在屏幕中间捕捉,一次一个项目。我试过用了recyclerView.setScrollingTouchSlop(RecyclerView.TOUCH_SLOP_PAGING);但是视图仍然滚动顺畅,我也尝试使用滚动侦听器来实现我自己的逻辑,如下所示:recyclerView.setOnScrollListener(new OnScrollListener() {                @Override                public void onScrollStateChanged(RecyclerView recyclerView, int newState) {                    super.onScrollStateChanged(recyclerView, newState);                    Log.v("Offset ", recyclerView.getWidth() + "");                    if (newState == 0) {                        try {                               recyclerView.smoothScrollToPosition(layoutManager.findLastVisibleItemPosition());                                recyclerView.scrollBy(20,0);                            if (layoutManager.findLastVisibleItemPosition() >= recyclerView.getAdapter().getItemCount() - 1) {                                Beam refresh = new Beam();                                refresh.execute(createUrl());                            }                        } catch (Exception e) {                            e.printStackTrace();                        }                    }从右到左的滑动现在工作正常,但不是相反,我在这里缺少什么?
查看完整描述

3 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

如果目标是使RecyclerView模仿行为ViewPager有相当简单的方法


RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);


LinearLayoutManager layoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);

SnapHelper snapHelper = new PagerSnapHelper();

recyclerView.setLayoutManager(layoutManager);

snapHelper.attachToRecyclerView(mRecyclerView);

通过使用PagerSnapHelper你可以得到像这样的行为ViewPager


查看完整回答
反对 回复 2019-08-31
  • 3 回答
  • 0 关注
  • 1105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信