原标题:Android零基础入门|RecyclerView分割线开发技巧

在上一期通过简单学习,已经领略到了RecyclerView的灵活性,当然都是一些最基础的用法,那么本期一起来学习RecyclerView的分割线使用。

相信有的比较细心的同学已经发现了,使用RecyclerView实现的List列表和ListView实现的列表有一些细微差距,item之间没有分割线,导致item之间相隔不明显,但在实际开发中有又往往需要。

由于RecyclerView并没有支持divider这样的属性,需要我们自己想办法来完成。主要有两种实现方式,接下来分别对其进行学习。

android grid分割线 recyclerview 安卓分割线_android 分割线组件

一、背景设置显示间隔

先给RecyclerView添加黑色背景,然后再给每个item添加白色背景并设置间隔1dp,这样自然就用背景空隙当做分割线了。

在上一期的基础上进行简单修改即可,修改后的recyclerview_layout.xml文件代码如下:

android grid分割线 recyclerview 安卓分割线_自定义_02

修改后的recyclerview_item.xml文件代码如下:

android grid分割线 recyclerview 安卓分割线_分割线_03

其他地方的代码不变,重新运行程序,可以看到下图所示的分割线。

android grid分割线 recyclerview 安卓分割线_分割线_04

二、自定义分割线

上面第一种实现方式非常简单,但有时候还是不足以完成实际需求,这就需要用到自定义分割线了。

还记得上期里面提到的ItemDecoration类的作用了吗?RecyclerView类也提供了一个addItemDecoration方法,我们可以通过该方法添加分割线。

首先我们自定义一个drawable文件recyclerview_item_divider,具体内容后续会进行学习的,这里不做过多介绍,代码如下:

android grid分割线 recyclerview 安卓分割线_Android_05

由于RecyclerView.ItemDecoration为抽象类,需要自定义一个实现类,该类很好的实现了为RecyclerView添加分割线。新建RecyclerViewItemDivider类,具体代码如下:

android grid分割线 recyclerview 安卓分割线_android 分割线组件_06

然后在将自定义的分割线添加到RecyclerView中,局部代码如下:

android grid分割线 recyclerview 安卓分割线_分割线_07

其余代码不变,重新运行程序,可以看到下图所示界面效果。

android grid分割线 recyclerview 安卓分割线_android 分割线组件_08

可以看到,自定义分割线的自由度和灵活性较大,也更加炫丽,完全可以根据实际需要来定制。

上面学习的自定义分割线只适合纵向列表,由于横向列表和网格布局每一行都有多个子视图,需要重新定义一个ItemDecoration类,这里就不作过多介绍了。

今天就先到这里,如果有问题欢迎留言一起探讨,也欢迎加入Android零基础入门技术讨论微信群,共同成长!

此文章版权为微信公众号分享达人秀(ShareExpert)——鑫鱻所有,若需转载请联系作者授权,特此声明!

往期总结分享:

第1节:Android的前世今生

第2节:Android 系统架构和应用组件那些事

第3节:带你一起来聊一聊Android开发环境

第4节:正确安装和配置JDK

第5节:善用ADT Bundle

第6节:配置优化SDK Manager

第7节:搞定Android模拟器

第8节:HelloWorld,第一趟旅程出发点

第9节:Android实战,不懂代码也可以开发

第10节:开发IDE迎来Android Studio

第11节:运行Android Studio工程

第12节:熟悉Android Studio界面

第13节:Android Studio个性化配置

第14节:使用高速Genymotion

第15节:掌握Android Studio项目结构

第16节:Android用户界面开发概述

第17节:文本框TextView

第18节:输入框EditText

第19节:按钮Button

第20节:选择控件CheckBox和RadioButton

第21节:开关控件ToggleButton和Switch

第22节:图像视图ImageView

第23节:ImageButton和ZoomButton

第24节:自定义View简单使用

第25节:简单且最常用的LinearLayout

第26节:layout_gravity和gravity大不同

第27节:正确使用padding和margin

第28节:轻松掌握RelativeLayout相对布局

第29节:善用TableLayout表格布局

第30节:两分钟掌握FrameLayout帧布局

第31节:少用的AbsoluteLayout绝对布局

第32节:新推出的GridLayout网格布局

第33节: Android事件处理概述

第34节:Android中基于监听的事件处理

第35节:Android中基于回调的事件处理

第36节:Android系统事件的处理

第37节:初识ListView

第38节:初识Adapter

第39节:ListActivity和自定义列表项

第40节:自定义ArrayAdapter

第41节:使用SimpleAdapter

第42节:自定义BaseAdapter

第43节:ListView优化和列表首尾使用

第44节:ListView数据动态更新

第45节:网格视图GridView

第46节:列表选项框Spinner

第47节:AutoCompleteTextView自动文本

第48节:ExpandableListView多级选择

第49节:AdapterViewFlipper图片轮播

第50节:StackView卡片堆叠

第51节:进度条ProgressBar

第52节:自定义炫酷进度条

第53节:SeekBar和RatingBar

第54节:视图切换组件ViewSwitcher

第55节:ImageSwitcher和TextSwitcher

第56节:翻转视图ViewFlipper

第57节:DatePicker和TimePicker选择器

第58节:数值选择器NumberPicker

第59节:常用三大Clock时钟组件

第60节:CalendarView和Chronometer

第61节:滚动视图ScrollView

第62节:搜索框组件SearchView

第63节:值得借鉴学习的选项卡TabHost

第64节:揭开RecyclerView庐山真面目