RecycleView的ItemDecoration的基本操作

2019-11-22  本文已影响0人  欧阳峰_oyf

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;

    }

}

图层的显示图
上一篇 下一篇

猜你喜欢

热点阅读