RecyclerView 大小相同 , 这里要注意 , 每一次绘制时 , 都要先获取要绘制的 item 组件对应的坐标 ;
这里的用法与 getItemOffsets 完全不同 , 设置每个元素的边距偏移时..., 可以获取当前的序号 , 并针对不同的序号代表的 item 条目进行不同的边距设置 ;
Canvas 中绘图的坐标系的 ( 0, 0 ) 位置是 RecyclerView 的左上角位置 ;
使用 Canvas...获取当前设置边距的位置
int currentPosition = parent.getChildAdapterPosition(view);
// 2....针对不同的位置设置不同的边距
// 每排最左侧和最右侧的左右边距设置成 20 像素, 其余 4 个边距一律设置成 5
if (currentPosition % 4 ==...: 正常的 item 边距设置都是 20 像素 , 每行最左侧距离左边 40 像素 , 每行最右侧边距距离右侧 40 像素 ;
① item 底部背景 : 使用 onDraw 方法绘制 , 给每行的第一个元素绘制一个底部背景