RecyclerView性能和自由度相比ListView强大很多,但是没有分割线
可以使用自定义一个ItemDecoration,主要的三个方法,onDraw,onDrawOver,getItemOffsets
onDraw 在子Item的底层绘制
onDrawOver 在子View的上层绘制
getItemOffsets 确定偏移量
public class SimpleItemDecorationextends RecyclerView.ItemDecoration {
public SimpleItemDecoration(Context context) {
}
//在RecycleView的底层绘制
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
super.onDraw(c, parent, state);
//在此可以自己绘制自己想要的内容
}
// //在RecycleView的上层绘制
public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {
super.onDrawOver(c, parent, state);
//在此可以自己绘制自己想要的内容
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state);
//这只是一个简单的,实际过程中需要考虑上下左右,还需要考虑LayoutManager。
outRect.bottom = outRect.bottom + height;
}
}

网友评论