【Android -- 开源库】Glide 的基本使用

2023-04-10 13:16:20

一、简介

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);

源码分析

参考:从源码的角度理解Glide的执行流程

  • 作者:Kevin-Dev
  • 原文链接:https://blog.csdn.net/duoduo_11011/article/details/103416887
    更新时间:2023-04-10 13:16:20