RecycleView分割线

这里记录了如何给RecycleView添加分割线的方法,以及RecycleView如何显示成类似GridView的表格形式,以及表格的分割线添加方法。

方法一:在Adapter的Layout布局中添加一个View以达到分割线的效果;

方法二:借助RecycleView的addItemDecoration方法实现;

1
mRecyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL));

同时,还可以自己定义分割线,包括图片或者颜色以及大小等,如下:

1
2
DividerItemDecoration verticalDivider = new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL);
verticalDivider.setDrawable(getResources().getDrawable(R.drawable.divider_vertical));

divider_vertical的xml如下:

1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">

<solid android:color="@color/border" />

<size android:height="1px" />

</shape>

补充:有的时候需要把RecycleView当做GridView来使用,这肯定也是可以的,而且分割线的做法同上。

1
2
3
4
5
6
7
8
recycleView.setLayoutManager(new GridLayoutManager(getActivity(), 3, LinearLayoutManager.VERTICAL, false));
recycleView.setItemAnimator(new DefaultItemAnimator());
DividerItemDecoration horizontalDivider = new DividerItemDecoration(getActivity(), DividerItemDecoration.HORIZONTAL);
DividerItemDecoration verticalDivider = new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL);
horizontalDivider.setDrawable(getResources().getDrawable(R.drawable.divider_horizontal));
verticalDivider.setDrawable(getResources().getDrawable(R.drawable.divider_vertical));
recycleView.addItemDecoration(horizontalDivider);
recycleView.addItemDecoration(verticalDivider);

附上divider_horizontal.xml的代码如下:

1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">

<solid android:color="@color/border" />

<size android:width="1px" />

</shape>

效果图如下所示: