首先来个低配版的效果图
逻辑并不复杂,就是继承RecyclerView重写onScrolled(int dx, int dy)方法就可,Adapter用两种itemView,一种是透明背景,一种是普通布局View。
@Override
public int getItemViewType(int position) {
if (position==10||position==0){
return 0;
}else
return 1;
}
这里我是使用的固定了的item下标。
然后在onCreateViewHolder方法中做itemType处理。
主要逻辑在这里
/**
* 通过滑动,判断当前是否有显示透明item,如果有,且透明item位于第一个或者最后一个,那么就移动imageview,让imageview随该透明item移动
* @param dx
* @param dy
*/
@Override
public void onScrolled(int dx, int dy) {
super.onScrolled(dx, dy);
first = linearLayoutManager.findFirstVisibleItemPosition();//第一个可见item
last = linearLayoutManager.findLastVisibleItemPosition();//最后一个可见item
one = linearLayoutManager.findViewByPosition(first);
lastv = linearLayoutManager.fi