我试图在这里使用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(); } } 从右向左滑动现在可以正常工作,但是相反,我在这里错过了什么?
编辑:看到我自己的答案,简单的解决scheme 重要提示 : 赏金提供了清晰的方式来修改ViewPager,以满足下面描述的情况。 请不要提供HorizontalScrollView – 我需要全面的Fragment生命周期scheme 我需要实现基于Fragments的视图的水平滚动,其中一个项目位于中心,而右侧/左侧的项目部分或完全可见。 ViewPager专注于每次显示一个项目,因此ViewPager不适合执行此任务。 为了便于理解,下面是一个快速的草图,其中项目1,5和6在可视区域之外。 而且,想要使这个可视数字可configuration,例如在纵向视图中,我将只显示2(或可能只是一个)项目。 我并不是想在屏幕上显示3个项目,只要显示中央项目,其他人可以裁剪。 在小屏幕上可以有1个中央项目,并且随着屏幕长大(裁剪是OK)项目应显示 我明白,这看起来像一个画廊,但再次项目不是简单的图像,但每个片段中垂直滚动列表片段 PS通过@Commonsware发现这篇博文列出了3种不同的方法 。 为了我的需要,我喜欢#3
是否有可能使ListView水平? 我已经完成了这个使用图库视图,但选定的项目自动进入屏幕的中心。 我不想在我点击的同一地点select的项目。 我如何解决这个问题? 我的想法是设置水平滚动ListView 。 分享你的想法?