public DividerItemDecoration(Collection<Layer> layers) { dividerMap = new DividerMap(layers); }
@Override public void onDrawOver(Canvas canvas, RecyclerView parent, RecyclerView.State state) { if (positionAdapter == null) { positionAdapter = new PositionAdapter(parent.getLayoutManager(), offset); } int childCount = parent.getChildCount(); for (int i = 0; i < childCount; i++) { View child = parent.getChildAt(i); int absolutePosition = parent.getChildAdapterPosition(child); Position position = positionAdapter.getPositionByIndex(absolutePosition); Divider divider = dividerMap.getDivider(position, positionAdapter); drawDivider(canvas, child, divider, position); } }
Divider divider = getDivider(position); positionAdapter.getAdjacentItemPosition(position, Direction.SOUTH_EAST); Divider eastDivider = getDivider(eastPosition); Divider southDivider = getDivider(southPosition); Divider southEastDivider = getDivider(southEastPosition);