在滚动快于滚动多张卡片时,在卡片视图默认的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);
答案 0 :(得分:0)
您可以使用linearLayoutManager的对象来实现此目的。使用此行移动所选项目以显示在回收站屏幕的顶部。
linearLayoutManager.scrollToPositionWithOffset(YOUR_ITEM_POSITION,OFFSET_YOU_WANT);
有关如何使用scrollToPositionWithOffset的更多信息,请查看此链接。
答案 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);