一、Glide图片加载框架的简介
谷歌2014年开发者论坛会上介绍的图片加载框架,它让我们在处理不管是网路下载的图片还是本地的图片,减轻了很多工作量,
二、开发步骤:
1、添加链接库
compile 'com.github.bumptech.glide:glide:3.7.0'
2、代码编写,主要特性
Glide.with(context)
.load(imgUrl)
.dontAnimate()
.skipMemoryCache(true)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.placeholder(R.drawable.head_default)
.error(R.drawable.head_default)
.into(imageView);
》当加载网络上的图片时,imgUrl:为图片的地址
》当加载本地的图片时
Glide.with(context)
// .load(imgUrl)
.load(Uri.fromFile(new File(imgUrl)))
》当在网络上加载图片时,由于网络原因,图片未能及时显示,需要显示一个等待图片
.placeholder(R.drawable.head_default)
》当由于各种原因图片加载失败时,显示图片
.error(R.drawable.head_default)
》设置图片加载的动画
// .dontAnimate()//设置图片直接加载,不显示动画
.crossFade()//设置加载图片为淡入淡出
》设置图片的缩放方式
.centerCrop()
.fitCenter()
注:
.centerCrop()让图片适应View的大小
.fitCenter()剪裁缩放,让图片的大小等于小于View的大小,有可能占不满View的大小
》设置图片的缓存
.skipMemoryCache(true)//跳过内存的缓存
.diskCacheStrategy( DiskCacheStrategy.NONE ) //跳过硬盘缓存
-
DiskCacheStrategy.NONE
什么都不缓存 -
DiskCacheStrategy.SOURCE
仅仅只缓存原来的全分辨率的图像 -
DiskCacheStrategy.RESULT
仅仅缓存最终的图像,即降低分辨率后的(或者是转换后的) -
DiskCacheStrategy.ALL
缓存所有版本的图像(默认行为)
》设置图片加载的优先级
.priority( Priority.HIGH )
Priority.LOW
Priority.NORMAL
Priority.HIGH
Priority.IMMEDIATE
》加载GIF动画
.asGif() //判断加载的url资源是否为gif格式的资源
》显示图片
.into(imageView);