RecyclerView 并没有 divider 属性,但是我们可以通过 RecyclerView 的 addItemDecoration() 来添加分割线,该方法参数为 RecyclerView.ItemDecoration。
介绍
RecyclerView 添加分割线,实际上就是 RecyclerView 的 item 之间添加了用作分割线的View。
实现
在代码中添加:
recyclerView.addItemDecoration(new DividerItemDecoration(recyclerView.getContext(), mLayoutManager.getOrientation()));
就有了分割线。 默认的分割线效果是系统自带的 listDivider
的效果,我们也可以在主题配置文件中自定义全局的分割线,或者调用 setDivider
为每个 RecyclerView
设置单独的分割线。
小结
总的来说,目前添加分割线只需要使用 recyclerview-v7
包下的 DividerItemDecoration
类即可,分割线可以通过 setDivider 来个性化指定,也可以通过配置主题中的 android:listDivider
来全局指定。
例如:
RecyclerView mRecyclerView;
mRecyclerView.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));
这个能满足一般需求,但是如果我想使用自定义的分割线呢,看以下代码
DividerItemDecoration divider = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
divider.setDrawable(ContextCompat.getDrawable(this, R.drawable.divider));
mRecyclerView.addItemDecoration(divider);