使用SliderShow作为RecyclerView中的项目

问题描述

我正在开发一个需要在recyclerView的每个视图中显示自动滑动项目的应用程序。 为此,我尝试使用库smarteist / Android-Image-Slider。 该库使用:

  1. 自定义视图:显示我的数据模型。
  2. SliderAdapter(RecyclerAdpter):接收要绑定到视图的模型列表。
  3. recyclerView:显示滑块适配器的幻灯片放映项目。

因此,在我的App中,我从Cloud Firestore接收数据。服务器中的每个数据都包含需要以滑块显示形式显示的项目列表。换句话说,每个数据都代表一个幻灯片

我所做的就是使主RecyclerAdpter从服务器接收我的数据,并使用GridLayoutManager在recyclerView中显示它。

以下是主要Adpter的一些代码

//the R.layout.slider_view refer to the recyclerView of the image slider library
public StoreViewHolder onCreateViewHolder(@NonNull ViewGroup parent,int viewType) {
    View view;
    view = LayoutInflater.from(context).inflate(R.layout.slider_view,parent,false);
    return new StoreViewHolder(view);
}

@Override
protected void onBindViewHolder(@NonNull StoreViewHolder holder,@NonNull Data data) {
     //->data comes from firestore and contains list of sliding items
    final List<LeadingItem> list = data.getLeadingItems();
    //-> This is the adapter for the slider library
    final StoreSlideAdapter adapter = new StoreSlideAdapter(context,list);
    //-> viewHolder contains the recyclerView of the slider library
    holder.sv.setSliderAdapter(adapter);
    holder.sv.setIndicatorAnimation(IndicatorAnimationType.WORM);
    holder.sv.setSliderTransformAnimation(SliderAnimations.POPTRANSFORMATION);
    holder.sv.setAutoCycleDirection(SliderView.AUTO_CYCLE_DIRECTION_BACK_AND_FORTH);
    holder.sv.setIndicatorEnabled(false);
    holder.sv.setScrollTimeInSec(5); //set scroll delay in seconds :
    holder.sv.startAutoCycle();
    holder.sv.invalidate();
}

它正在工作,但并没有达到预期的效果

网格中的某些滑块显示无法正确滑动项目,例如,前项没有移动,而其后的其他项目则像在背景中那样滑动,也许还有其他意外结果我可能没有注意到

某事告诉我,这可能不是实现此目的的正确方法,这就是为什么我来找您寻求帮助。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)