RecyclerView: RecyclerView及与其相关的类(ItemDecoration、LayoutManager 、Adapter)
RecyclerView
- getChildAdapterPosition(View):获取View在Adapter中的position。
- getChildLayoutPosition(View):获取view在layout中的position。注意:大部分情况下,它与getChildAdapterPosition()是相同的。但是当布局发生改变,且新布局尚未完成时两者的值是不同的
- getChildCount(): 获取当前可见的item的数量。注意:是可见的item的数量,不是总item的数量。
LayoutManager
- getLeftDecorationWidth(View) & getTopDecorationHeight(View) & getRightDecorationWidth(View) & getBottomDecorationHeight(View): 返回当前子View的itemDecoration的左上右下侧的距离;
- findFirstVisibleItemPosition(): 拿到第一个可见item的position;
ItemDecoration
- getItemOffsets():获取每一个item的在各个方向的需要额外留出的空余量,各个方向空余量的值需要设置到第一个参数Rect对象中。
- onDraw():为RecyclerView添加一些额外的修饰,该方法会在item绘制之前进行调用。也就是说它绘制的内容可能会被item给覆盖住——如果绘制在item的空格处就不会被挡住。
- onDrawOver():基本上与onDraw()类似,只不过在item绘制之后绘制。因此可能会覆盖住item的内容。
参考链接: