一、实现LinearLayoutManager下的ItemDecoration的自定义
核心就是重写Itemdecoration下的 getItemOffsets方法和onDraw方法
1、getItemOffsets方法主要控制itemview的边距代码实现如下
@Override
void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
LinearLayoutManager linearLayoutManager = (LinearLayoutManager) parent.getLayoutManager();
if (linearLayoutManager.getOrientation() == LinearLayoutManager.VERTICAL) {
if (parent.getChildAdapterPosition(view) !=0) {
outRect.top =topBottom;
}
outRect.left =leftRight;
}else {
if (parent.getChildAdapterPosition(view) !=0) {
outRect.left =leftRight;
}
outRect.top =topBottom;
}
}
2、onDraw方法负责在空白区域绘制(该方法绘制的内容在itemview的下方 注意避免过度绘制)代码实现如下
@Override
void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
int lef