Monitor项目开发走过的路~RecyclerView添加子项分割线

来源:互联网 发布:数据嗅探 编辑:程序博客网 时间:2024/06/07 16:29

  RecyclerView可以说是非常常用了,几乎每一个大型项目中都会用到。它是ListView的升级版,实现了很多更加丰富的方法,但是也有一些功能是ListView特有的。用过ListView的都知道它可以非常容易的添加各个子项之间的分割线,只要在布局xml文件中添加如下两行代码即可。你可以定义分割线的颜色以及宽度。但是RecyclerView中就没有这么简单了

android:divider="@color/divider_color"  android:dividerHeight="1px"

  如下图是默认情况下RecyclerView的效果,看起来像是全部融为一体。所以你一定想要像ListView那样有一个分割线,看起来就会非常的清晰明了。
  
这里写图片描述

  在网上你好找到很多的方法来为RecyclerView添加分割线,但是大多都比较麻烦,下面将介绍一种非常简单快捷易操作的方法。RecyclerView有一个addItemDecoration()方法,它就是用来添加子项装饰的方法。首先新建一个MyItemDecoration类如下。重写其父类的 getItemOffsets()方法。在里面可以来设置子项的底部边距。

public class MyItemDecoration extends RecyclerView.ItemDecoration{    @Override    public void getItemOffsets(Rect outRect, View view, RecyclerView parent,RecyclerView.State state) {        //设置底部边距px        outRect.set(0,0,0,2);    }}

  类定义好之后就剩下添加这个效果了。通过下面一行简单的代码就可以实现,而且重用性很高,你可以在你项目中所有的RecyclerView中都通过一行代码来实现分割线。当然一定要记住设计时子项的背景颜色一定要和RecyclerView的父View的背景颜色不同。这样才能看出来分割线的效果,最终的效果如下。

mRecyclerView.addItemDecoration(new MyItemDecoration());

这里写图片描述

阅读全文
1 0
原创粉丝点击