我正在尝试在我的Android应用中实现水平RecycleView,以无休止的滚动动画显示内容。 See example of required UI here。
我的问题是,如何实现这一目标的最佳实践是什么? (RecycleView应该支持用户的滚动手势。)
答案 0 :(得分:0)
如果我是对的,那么您正在寻找无限滚动或无限滚动(不是该名称的官方名称)
如果正确,那么当用户到达最终商品时,它表明您现在在recyclerview中有5张图像,然后recycler视图又从第一个商品开始,例如
item1,item2,item3,item4,item5,然后再次是item5,item1,item2 .....
要实现这一目标
转到适配器类并执行以下代码。
@Override
public int getItemCount() {
return items == null ? 0 : items.size() * 2; //Here instead of items.size(); you have to change like this
}
现在使用您的OnBindViewHolder
方法
MODEL_CLASS item = items.get(position%items.size());
现在转到将适配器设置为recyclerview的活动并添加以下代码
YOUR_ADAPTER_NAME.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
int firstItemVisible = linearLayoutManager.findFirstVisibleItemPosition();
if (firstItemVisible != 0 && firstItemVisible % YOUR_LIST_ITEM.size() == 0) {
recyclerView.getLayoutManager().scrollToPosition(0);
}
}
});
这样,您可以在向右滚动时看到项目,它会继续在您的列表中循环。