RecyclerView添加分割线
时间: 2023-09-04 13:12:04 浏览: 54
要给RecyclerView添加分割线,可以通过以下步骤实现:
1. 在RecyclerView的布局文件中,添加如下代码:
```
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@drawable/divider"
android:dividerHeight="1dp" />
```
其中,`divider`是你自定义的drawable文件,用于绘制分割线,`dividerHeight`是分割线的高度。
2. 在drawable文件夹下,添加`divider.xml`文件,内容如下:
```
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size
android:width="1dp"
android:height="1dp" />
<solid android:color="@android:color/darker_gray" />
</shape>
```
这里我们使用了一个矩形的shape,设置它的宽和高都为1dp,然后填充灰色作为分割线的颜色。
3. 在RecyclerView的Adapter中,需要重写`getItemCount()`方法,让它返回数据源的大小(包括分割线)。
```
@Override
public int getItemCount() {
return data.size() * 2 - 1;
}
```
这里我们假设数据源为`data`,并且每个item之间都需要添加分割线,所以数据源的大小要乘以2,再减去1。
4. 最后,在RecyclerView的Adapter中,重写`onBindViewHolder()`方法,根据item的位置,判断它是否为分割线,然后设置分割线的可见性。
```
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
if (position % 2 == 1) { // 是分割线
holder.itemView.setVisibility(View.GONE);
} else { // 是数据项
holder.itemView.setVisibility(View.VISIBLE);
// 设置数据项的内容
}
}
```
这里我们通过判断位置是否为奇数来判断它是否为分割线,如果是分割线,则设置可见性为`GONE`,否则设置可见性为`VISIBLE`,同时设置数据项的内容。
通过以上步骤,我们就可以给RecyclerView添加分割线了。