一、简介
Glide 是一个快速高效的 Android 图片加载库,注重于平滑的滚动。
二、开始
1. 在 app/build.gradle 文件当中添加如下依赖:
dependencies {
compile 'com.github.bumptech.glide:glide:4.8.0';
}
2. 在 AndroidManifest.xml 添加网络权限:
<uses-permission android:name="android.permission.INTERNET" />
三、使用
1. 基本用法
多数情况下,使用Glide加载图片非常简单,一行代码足矣:
Glide.with(this)
.load(url)
.into(imageView);
解析一下这行代码:
-
首先,调用Glide.with()方法用于创建一个加载图片的实例。with()方法可以接收Context、Activity或者Fragment类型的参数。
-
其次,load()方法用于指定待加载的图片资源。Glide支持加载各种各样的图片资源,包括网络图片、本地图片、应用资源、二进制流、Uri对象等等。
// 加载本地图片
File file = new File(getExternalCacheDir() + "/image.jpg");
Glide.with(this).load(file).into(imageView);
// 加载应用资源
int resource = R.drawable.image;
Glide.with(this).load(resource).into(imageView);
// 加载二进制流
byte[] image = getImageBytes();
Glide.with(this).load(image).into(imageView);
// 加载Uri对象
Uri imageUri = getImageUri();
Glide.with(this).load(imageUri).into(imageView);
- 最后,into() 方法,我们希望让图片显示在哪个 ImageView 上,把这个 ImageView 的实例传进去就可以了。
三、占位符
1. 占位符(Placeholder)
占位符是当请求正在执行时被展示的 Drawable 。当请求成功完成时,占位符会被请求到的资源替换。如果被请求的资源是从内存中加载出来的,那么占位符可能根本不会被显示。如果请求失败并且没有设置 error Drawable ,则占位符将被持续展示。
Glide.with(this)
.load(url)
.placeholder(R.drawable.placeholder)
.into(view);
//或
Glide.with(this)
.load(url)
.placeholder(new ColorDrawable(Color.BLACK))
.into(view);
2. 错误符(Error)
error Drawable 在请求永久性失败时展示。error Drawable 同样也在请求的url/model为 null ,且并没有设置 fallback Drawable 时展示。
Glide.with(this)
.load(url)
.error(R.drawable.error)
.into(view);
//或
Glide.with(this)
.load(url)
.error(new ColorDrawable(Color.RED))
.into(view);
3. 后备回调符(Fallback)
fallback Drawable 在请求的url/model为 null 时展示。
Glide.with(this)
.load(url)
.fallback(R.drawable.fallback)
.into(view);
//Or:
Glide.with(this)
.load(url)
.fallback(new ColorDrawable(Color.GREY))
.into(view);