揭开RecyclerView的神秘面纱(一):RecyclerView的基本使用

前言

在Android开发中,我们经常与ListView、GridView打交道,它们为数据提供了列表和视图的展示方式,方便用户的操作。然而,随着Android的不断发展,单一的listview逐渐满足不了需求多变的项目了,因此,谷歌在support v7中,加入了新的控件——RecyclerView,该控件整合了ListView、GridView的特点,而且最大的优点是可以很方便实现瀑布流效果,因此RecyclerView受到越来越多的开发者重视。所以,学习RecyclerView的使用也是很有必要的。

引入RecyclerView

由于该控件并不在Andorid SDK中的,而是在support v7包中,因此我们要手动添加该控件。
在build.gradle中添加如下依赖:

dependencies {   
  ...
  compile 'com.android.support:appcompat-v7:23.1.1'  //Toolbar
  compile 'com.android.support:recyclerview-v7:23.1.1' //RecyclerView
}

几个重要的类

在我们开始讲解RecyclerView的用法之前,我们要先认识几个它常用的内部类,因为这几个内部类很重要,贯穿整个使用过程:
1、RecyclerView.Adapter:抽象类,为RecyclerView提供数据,一般根据不同的业务需求来编写具体的实现类。
2、RecyclerView.LayoutManager:抽象类,主要用于测量RecyclerView的子Item,以及根据不同的布局方式来实现Item的布局效果,v 7包自带的实现类有:LinearLayoutManager、StaggeredGridLayoutManager、GridLayoutManager。
3、RecyclerView.ItemDecoration:抽象类,这个主要用于不同的Item之间添加分割线(可选)。官方没有实现类,所以如果要添加分割线,我们需要手动实现这个抽象类。
4、RecyclerView.ItemAnimator:抽象类,这个主要用于当一个item添加或者删除的时候出现的动画效果,官方提供一个默认的实现类。如果想要使我们的RecyclerView在添加、删除数据的时候有炫酷的动画,可以实现这个抽象类。
可以看到,这些重要的类都是抽象类,这就为RecyclerView的高度可定制性打下了坚实的基础,利用不同的实现类,能自由、灵活地使用RecyclerView,这也是RecyclerView的迷人之处。

RecyclerView的基本使用

接下来,将介绍RecyclerView的基本使用方法

使用线性布局

1、布局

在main.xml文件中进行如下布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:toolbar="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        toolbar:titleTextColor="@android:color/white"
        toolbar:subtitleTextColor="@android:color/white"
        toolbar:popupTheme="@style/ToolbarPopupTheme">
    </android.support.v7.widget.Toolbar>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/><
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值