前言
本文主要是对Glide基本用法的总结,方便今后查看。在今后的使用中,如果遇到坑或者比较好玩的地方,会补充到该文章。另外大神看到这篇文章,希望给些指点。
Glide的基本用法
1.Glide加载一张图片
Glide.with(this)//上下文参数
.load(url)//图片地址,可以是资源文件、文件、Uri、assets、raw、ContentProvider、sd卡资源
.into(imageView);//目标ImageView
2.Glide指定占位图和错误图
Glide.with(this).load(url1)
.placeholder(R.mipmap.ic_launcher)//指定占位图
.error(R.mipmap.ic_launcher)//指定错误图
.into(iv3);
3.Glide指定图片的淡入淡出效果
Glide.with(this).load(url)
.crossFade(3000)//用Glide实现淡入淡出的效果,只需添加该属性
//参数是淡入淡出的时间,单位是ms。默认300ms
.into(imageView);
4.Glide指定图片的大小
Glide是可以根据ImageView的大小来决定图片在内存/磁盘中的大小,当然,我们也可以用override方法来设置图片的大小。
Glide.with(this).load(url)
.override(300, 300)//指定图片的宽高,图片质量将被压缩
.into(imageView);
5.Glide指定图片的缩放形式
Glide.with(this).load(url)
.centerCrop()//等比例缩放图片,直到图片的狂高都大于等于
//ImageView的宽度,然后截取中间的显示。
.into(imageView);
Glide.with(this).load(url)
.fitCenter()//等比例缩放图片,宽或者是高等于ImageView的宽或者是高。
.into(imageView);
6.Glide清楚缓存的方法
Glide.get(this).clearMemory();//清理内存缓存 可以在UI主线程中进行
Glide.get(this).clearDiskCache();//清理磁盘缓存 需要在子线程中执行
7.Glide管理请求的几个方法
Glide.clear();//清楚所有的请求
Glide.with(getApplicationContext()).pauseRequests();//暂停请求队列
Glide.with(getApplicationContext()).resumeRequests();//恢复请求队列
Glide3.0新特性
1.对gif的支持
Glide.with(context).load(gifUrl)
.asBitmap()//显示gif静态图片
.into(imageview);
Glide.with(context).load(gifUrl)
.asGif()//显示gif动态图片
.into(imageview);
Glide.with(context).load("视频路径/视频文件/本地视频路径").into(imageview);
2.对缩略图的支持
Glide.with(context).load(url)
.thumbnail(0.1f)//加载1/10尺寸的缩略图,然后加载全图
.into(imageview)
3.对动画的支持
Glide
.with( context )
.load( url )
.animate( android.R.anim.slide_in_left )
.into( imageView );
ViewPropertyAnimation.Animator animationObject = new ViewPropertyAnimation.Animator() {
@Override
public void animate(View view) {
view.setAlpha( 0f );
ObjectAnimator fadeAnim = ObjectAnimator.ofFloat( view, "alpha", 0f, 1f );
fadeAnim.setDuration( 2500 );
fadeAnim.start();
}
};
Glide
.with( context )
.load( url )
.animate( animationObject )
.into( imageView );
4.缓存方面
Glide
.with(context)
.load(url)
.skipMemoryCache(true)//跳过内存缓存
.into(imageView);
设置缓存策略(磁盘缓存)
all:缓存源资源和转换后的资源
none:不作任何磁盘缓存
source:缓存源资源
result:缓存转换后的资源
Glide
.with(context)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);