@Override protected int getChildDrawingOrder(int childCount, int i) { if (mChildDrawingOrderCallback == null) { return super.getChildDrawingOrder(childCount, i); } else { return mChildDrawingOrderCallback.onGetChildDrawingOrder(childCount, i); } }
childCount表示屏幕中可见的item个数,i表示要绘制的条目位置,i越小越先绘制,如下所示:
前三个条目的位置和索引一样不用变,中间的为childCount-1,倒数第二个的绘图顺序是center,倒数第二个的绘图顺序是center+1,倒数第三个的绘图顺序是center+2,所以后三个对应的为center + childCount- 1 - i
public class GalleryRecycleview extends RecyclerView { public GalleryRecycleview(Context context) { this(context,null); } public GalleryRecycleview(Context context, @Nullable AttributeSet attrs) { super(context, attrs); setChildrenDrawingOrderEnabled(true); } @Override protected int getChildDrawingOrder(int childCo