亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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 關注
  • 1122 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號