Closed Doublelsl closed 1 week ago
已实现了两端各两张图,实现方法分享如下: 前提:图的总数不少于2张 1.StartPosition要设置为2 2.添加addOnPageChangeListener,onPageSelected中获取当前position,可已直复制Banner中,position是真实位置 3.onPageScrollStateChanged中滑动完成时,根据自己需要添加的图片数量自行实现重新定位,已两端两张为例,位置为0时,定位到getItemCount() - 3,位置为getItemCount() - 3时定位到2 4.自定义adapter,重写onBindViewHolder,参照BannerAdapter,保留 int real = getRealPosition(position); onBindView(holder, mDatas.get(real), real, getRealCount()); if (mOnBannerListener != null) holder.itemView.setOnClickListener(view -> mOnBannerListener.OnBannerClick(mDatas.get(real), real)); 5.自定义adapter中实现getRealPosition,getRealPosition中的逻辑为将原有list中数据的最后两条放到最前方,头两条放在最后放,实现首尾相接。 6.getItemCount中根据自己的需求返回list.size() + 第5步添加的条数,比如我是在list.size()>1时添加4条
可以实现两边有多张的画廊效果吗