recyclerview item底部使用 .addItemDecoration加一条黑线
时间: 2023-07-11 14:23:15 浏览: 99
RecyclerView的ItemDecoration
好的,您可以使用 RecyclerView 的 addItemDecoration() 方法来为 item 添加边界装饰,以达到添加一条黑线的效果。具体的步骤如下:
1. 定义一个继承于 RecyclerView.ItemDecoration 的类,用来实现您的边界装饰效果。例如:
```
public class MyDividerItemDecoration extends RecyclerView.ItemDecoration {
private Drawable mDivider;
public MyDividerItemDecoration(Context context) {
mDivider = ContextCompat.getDrawable(context, R.drawable.divider);
}
@Override
public void onDraw(Canvas canvas, RecyclerView parent, RecyclerView.State state) {
int left = parent.getPaddingLeft();
int right = parent.getWidth() - parent.getPaddingRight();
for (int i = 0; i < parent.getChildCount(); i++) {
View child = parent.getChildAt(i);
RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams();
int top = child.getBottom() + params.bottomMargin;
int bottom = top + mDivider.getIntrinsicHeight();
mDivider.setBounds(left, top, right, bottom);
mDivider.draw(canvas);
}
}
}
```
这里的 R.drawable.divider 需要您自己定义一张黑线的图片,并放在 res/drawable 目录下。
2. 在您的 RecyclerView 初始化代码中,调用 addItemDecoration() 方法来为 RecyclerView 添加装饰。例如:
```
recyclerView.addItemDecoration(new MyDividerItemDecoration(this));
```
这样,您就可以在 RecyclerView 的 item 底部添加一条黑线了。
阅读全文