前言
RecycleView是谷歌V7包中新增的控件,用于替代以往多数据显示的控件(ListView,GridView…),一个新的替代的事物的出现,必定有这比之前更便捷灵活的特性。那么为什么RecycleView为什么会用来替代ListView和GridView呢?
特点
结构高度灵活
- LayoutManager : 控制显示方式分为LinearLayoutManager、GridLayoutManager和StaggeredGridLayoutManager,当然你也可以自定义LayoutManager,可以控制显示的方向和位置
- Adapter:适配器,下面会详细讲解
- ItemDecoration:定义每个Item之间的间距,可自定义ItemDecoration,详情参照
- ItemAnimator : item 的动画管理类
内部实现内存回收
- 内部封装了ViewHolder,加入了内存回收。
RecycleView的显示和数据加载全部分解成了几块去分别管理,以往从ListView转换成GridView需要重写布局和代码,但是现在你只需要改变一下LayoutManager就可以了,高度解耦了功能之间的联系。
基本使用
下面就说一下RecycleView的基本应用,而后几章中会补充自定义的 LayoutManager 和自定义的 ItemDecoration 来更好的扩展。
- 添加依赖(buid.gradle)
dependencies {
...
compile 'com.android.support:cardview-v7:23.1.1'
compile 'com.android.support:recyclerview-v7:23.1.1'
}
- XML调用activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.demo.demorecycleview.MainActivity">