一、前期基础知识储备
笔者在前面两篇文章《图片加载库Glide精炼详解》、《最强大的列表滚动控件RecyclerView精炼详解》分别介绍了图片加载库Glide和列表滚动控件的常用用法,那么今天本节文章,就开始把两者组合在一起,用Glide请求网络图片,请求完之后将图片用RecyclerView显示出来。
先分析一下思路:单独使用Glide和RecyclerView相信读者都没有问题,那么两者联合使用,关键的联合点在什么地方?——Glide请求的图片相当于RecyclerView中的数据,那么数据的装载发生在什么地方?——数据的装载在适配器中的onBindViewHolder方法里——那么我们就可以得出,关键的联合点在适配器的方法中。
二、上代码,具体实现
第一步:build.gradle文件中添加依赖;
compile'com.github.bumptech.glide:glide:3.7.0'
compile'com.android.support:recyclerview-v7:23.2.1'
compile'com.android.support:cardview-v7:23.3.0'
因为单独的RecyclerView没有默认的分隔线,所以这里我们采用CardView的方式去填充Item子布局,这样得到的显示效果更好。
第二步:主布局文件中添加RecyclerView控件;<?xml version="1.0" encoding="utf-8"?>
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.administrator.glideandrecyclerview.MainActivity">
android:id="@+id/recycley_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
第三步:新建Bird实体类,注意里面加入图片名字和图片Url地址两种属性;
public class Bird {
private String name;
private String imageUrl;
//这里注意做一个无参数的