Android图片加载----Glide的用法总结

前言

本文主要是对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);

你可能感兴趣的:(Android图片加载----Glide的用法总结)