Glide简介:glide是一个快速高效的Android图片加载库,注重于平滑的滚动。统一了显示本地图片和网络图片的借口。
Glide的下载和设置
加载网络图片需要加INTERNET权限
//本地URI
String uri=getFilesDir().getAbsolutePath()+"/jk.jpg";
Glide.with(this).//指定上下文环境,支持activity,fragment,context,context,fragmentActivity四种类型
load(uri).//加载图片的string,可以来自与网络也可以来源于本地
into(imageView);//指定显示图片的控件
加载GIF图片:
Glide.with(this).
asGif().//表示加载的是GIF类型的图片必须在load方法前调用
load(uri).//加载图片
into(imageView);//指定显示图片的控件
请求选项
glide中的大部分设置项都可以通过requestOptions类和apply()方法来应用到程序中。
使用requestOptions可以实现:
(1)占位符:对于图片请求的不同状况显示不同效果
(2)转换:对图片显示效果的设置
(3)缓存策略:将图片加载到缓存当中
(1)占位符:
placeholder:请求正在执行时
error:请求失败时
fallback:在请求的结果为null的时候
注:也可以用apply()方法,两个apply方法,位置不相同,作用不相同,设置默认请求选项的方式,底下的apply只是这次请求用的方式
Glide.with(this)
.load(uir)
.apply(options)
.into(imageView);
(2)转换:
需要给控件加scaleType属性。属性值是center_crop,就会应用centerCrop变换。如果scaleType是FIT_CENTER或者CENTER_INEIDE,会自动使用fitcenter变换。
RequestOptions options=new RequestOptions()
.centerCrop()
/*.fitCenter()
.circleCrop()*///后面设置的会覆盖前面的,会显示第三种
.placeholder(R.mipmap.loading)//正在请求
.error(R.mipmap.error)//请求错误
.fallback(R.mipmap.empty);//请求为空的时候
(3)缓存策略:
RequestOptions options=new RequestOptions()
.diskCacheStrategy(DiskCacheStrategy.ALL)//应用所有的缓存
.centerCrop()
Generated API特性:
使用注解处理器来生成出一个API