具有水平滚动动画的Android水平RecycleView

时间:2020-07-21 10:24:30

标签: android android-recyclerview android-animation

我正在尝试在我的Android应用中实现水平RecycleView,以无休止的滚动动画显示内容。 See example of required UI here

我的问题是,如何实现这一目标的最佳实践是什么? (RecycleView应该支持用户的滚动手势。)

1 个答案:

答案 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);
                }
            }
        });

这样,您可以在向右滚动时看到项目,它会继续在您的列表中循环。