一、继承类:RecyclerView.LayoutManager()
二、必须实现的方法:generateDefaultLayoutParams
创建一个普通的layoutparams即可
RecyclerView.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)
三、重写:onLayoutChildren方法
该方法时是针对每个item的重写
四、onLayoutChildren中相应的重要方法
4.1、detachAndScrapAttachedViews:主要用于销毁view并将view缓存到ScrapCache中
这是由于onLayoutChildren方法在初始化的过程中会调用两次,因此需要回收view,用于重复使用
4.2、getViewForPosition:获取指定位置的view
该方法可以获取任意位置的view
4.3、addView:将View添加至RecyclerView中
该方法是将获取到的view添加到RecyclerView,此时view不可见
4.4、layoutDecoratedWithMargins:将view放置到指定的位置
该方法使用之前通常会测量view的宽高
a、getDecoratedMeasuredWidth
b、getDecoratedMeasuredHeight
注意
通常情况而言都是这四个步骤,顺序可以有一定的改变,但是最好是不改变顺序。