RecyclerView中ItemDecorationd的簡單使用(二)---為item設定分割線
阿新 • • 發佈:2019-01-10
ItemDecorationd 為 item 設定底部分割線
效果圖(圖有點醜,但意思到)
同樣先設定 MyDeviderDecorationd 繼承 ItemDecorationd
public class MyDeviderDecoration extends RecyclerView.ItemDecoration { private int mydevider; private Paint dividerPaint; public MyDeviderDecoration(Context context) { dividerPaint = new Paint(); //設定分割線顏色 dividerPaint.setColor(context.getResources().getColor(R.color.colorAccent)); //設定分割線寬度 mydevider = context.getResources().getDimensionPixelSize(R.dimen.divider_bottom); } @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { super.getItemOffsets(outRect, view, parent, state); outRect.bottom = mydevider; } @Override public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { int childCount = parent.getChildCount(); int left = parent.getPaddingLeft(); int right = parent.getWidth() - parent.getPaddingRight(); for (int i = 0; i < childCount - 1; i++) { View view = parent.getChildAt(i); float top = view.getBottom(); float bottom = view.getBottom() + mydevider; c.drawRect(left, top, right, bottom, dividerPaint); } } }
同樣在setAdapter()之前加上如下程式碼:
recyclerView.addItemDecoration(new MyDeviderDecoration(this));
完成~