在Recyclerview中仅滚动下一张卡片视图,即使应用了多少滚动量

时间:2017-10-13 11:53:38

标签: android scroll android-recyclerview

在滚动快于滚动多张卡片时,在卡片视图默认的Recyclerview列表中滚动。当滚动甚至用户在Android中应用了多少滚动量时,我只需要显示当前卡片的下一个。我用Google搜索但没有得到解决方案。谢谢你的帮助 我的代码包含MyRecyclerView和LinearLayoutManager,后面是

MyRecyclerView = (RecyclerView) view.findViewById(R.id.cardView);
MyRecyclerView.setHasFixedSize(true);
LinearLayoutManager MyLayoutManager = new LinearLayoutManager(getActivity());
    MyLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
    if (listitems.size() > 0 & MyRecyclerView != null) {
        MyRecyclerView.setAdapter(new MyAdapter(listitems));
    }
    MyRecyclerView.setLayoutManager(MyLayoutManager);

2 个答案:

答案 0 :(得分:0)

您可以使用linearLayoutManager的对象来实现此目的。使用此行移动所选项目以显示在回收站屏幕的顶部。

linearLayoutManager.scrollToPositionWithOffset(YOUR_ITEM_POSITION,OFFSET_YOU_WANT);

有关如何使用scrollToPositionWithOffset的更多信息,请查看此链接。

https://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager.html#scrollToPositionWithOffset(int,%20int)

答案 1 :(得分:0)

1。您应该使用 smoothScrollToPosition(int position)

  

开始平滑滚动到适配器位置。

recyclerview.smoothScrollToPosition(position);

2。使用 scrollToPosition()

  

void scrollToPosition (int position)

     

滚动到某个位置的便捷方法。 RecyclerView不实现滚动逻辑,而是将调用转发到

RecyclerView.scrollToPosition(postion)

3。 rv.getLayoutManager().scrollToPosition(youPositionInTheAdapter).

4。 scrollToPositionWithOffset()

  

void scrollToPositionWithOffset (int position,int offset)

     

使用解析后的布局start中的给定偏移滚动到指定的适配器位置。已解决的布局开始取决于getReverseLayout()getLayoutDirection(android.view.View)getStackFromEnd().

linearLayoutManager.scrollToPositionWithOffset(1, 10);