超级简单的图片加载框架Glide(献给新手)

编程入门 行业动态 更新时间:2024-10-18 18:29:11

超级简单的图片加载<a href=https://www.elefans.com/category/jswz/34/1770644.html style=框架Glide(献给新手)"/>

超级简单的图片加载框架Glide(献给新手)

详细各位初学者都可能听说过Glide或者已经对其有过一些了解了,下面我主要讲解它的简单使用:

引入

compile 'com.github.bumptech.glide:glide:3.7.0'

权限

<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

使用:

//设置图片
Glide.with(context)//使用Application上下文,Glide请求将不受Activity/Fragment生命周期控制.使用Activity作为上下文,Glide的请求会受到Activity生命周期控制.fragment同理.load(path)//Glide基本可以load任何可以拿到的媒体资源// DiskCacheStrategy.SOURCE:缓存原始数据// DiskCacheStrategy.RESULT:缓存变换(如缩放、裁剪等)后的资源数据// DiskCacheStrategy.NONE:什么都不缓存// DiskCacheStrategy.ALL:缓存SOURCE和RESULT// 默认采用DiskCacheStrategy.RESULT策略// 对于download only操作要使用DiskCacheStrategy.SOURCE.diskCacheStrategy(DiskCacheStrategy.ALL)//设置缓存策略// 优先级越高越优先加载,但不保证所有图片都按序加载// 枚举Priority.IMMEDIATE// Priority.HIGH// Priority.NORMAL// Priority.LOW// 默认为Priority.NORMAL.priority(Priority.HIGH)//指定加载的优先级.dontAnimate()// 移除所有的动画//.animate(int animationId)//在异步加载资源完成时会执行该动画.placeholder(R.drawable.btn_bg1)//设置资源加载过程中的占位Drawable.error(R.drawable.btn_bg1)//设置load失败时显示的Drawable// 监听资源加载的请求状态//但不要每次请求都使用新的监听器,要避免不必要的内存申请,可以使用单例进行统一的异常监听和处理。.listener(new RequestListener<String, GlideDrawable>() {//当负载出现异常时调用@Overridepublic boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {return false;}//当负载成功完成时,立即调用@Overridepublic boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {return false;}})//设置是否跳过内存缓存  但不保证一定不被缓存//.skipMemoryCache(boolean skip)//重新设置目标的宽高值.override(200, 400)//设置资源将被加载到的目标.into(holder.img);
// 清除内存缓存
// 必须在UI线程中调用
Glide.get(context).clearMemory();
// 清除磁盘缓存
// 必须在后台线程中调用,建议同时clearMemory()
Glide.get(context).clearDiskCache();

图片处理库

compile 'jp.wasabeef:glide-transformations:2.0.0'

使用这个库可以对图片进行一些 裁剪、模糊、滤镜等处理

简单举例:

//圆形裁剪
Glide.with(context).load(path).bitmapTransform(new CropCircleTransformation(context)).into(holder.img);
//圆角处理
Glide.with(context).load(path).bitmapTransform(new RoundedCornersTransformation(context, 30, 0, RoundedCornersTransformation.CornerType.ALL)).into(holder.img);
//灰度处理
Glide.with(context).load(path).bitmapTransform(new GrayscaleTransformation(context)).into(holder.img);

更多推荐

超级简单的图片加载框架Glide(献给新手)

本文发布于:2024-02-06 12:52:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1748933.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:框架   加载   新手   简单   图片

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!