美文网首页
Glide4.0的用法

Glide4.0的用法

作者: 傲娇的狗蛋 | 来源:发表于2018-07-16 15:54 被阅读0次

前言

Glide 4相对于Glide 3改动非常大,尤其是aip的调用。

Glide4.0的用法

总结一下Glide4.0的用法

基本用法

 Glide.with(this).load(url).into(ivTest);

占位图

RequestOptions options = new RequestOptions()
                .placeholder(R.drawable.sishen);

        Glide.with(this)
                .load(url)
                .apply(options)
                .into(ivTest);

先创建了一个RequestOptions对象,然后调用它的placeholder()方法来指定占位图,再将占位图片的资源id传入到这个方法中。最后,在Glide加载之前调用apply()方法传入RequestOptions。

错误占位图

RequestOptions options = new RequestOptions()
                .placeholder(R.drawable.sishen)
                .error(R.drawable.error) ;

        Glide.with(this)
                .load(url)
                .apply(options)
                .into(ivTest);

只要在构建RequestOptions设置error就可以。

在Glide 4中引入了RequestOptions,把设置缓存机制 ,占位图等操作移到了RequestOptions里。

制定图片大小

Glide会自动根据ImageView的大小来决定图片的大小,如果有这样的需求必须指定一个图的大小可以通过RequestOptions指定。

RequestOptions options = new RequestOptions() 
        .override(200, 200); 

使用override()方法指定了一个图片的尺寸,Glide只会将图片加载成200*100像素的尺寸。

缓存机制

缓存分为内存缓存和硬盘缓存。

Glide是自动开启内存缓存的。如果需要禁用

RequestOptions options = new RequestOptions() 
        .skipMemoryCache(true); 

硬盘缓存有几个参数

  • DiskCacheStrategy.NONE: 表示不缓存任何内容。
  • DiskCacheStrategy.DATA: 表示只缓存原始图片。
  • DiskCacheStrategy.RESOURCE: 表示只缓存转换过后的图片。
  • DiskCacheStrategy.ALL : 表示既缓存原始图片,也缓存转换过后的图片。
  • DiskCacheStrategy.AUTOMATIC: 表示让Glide根据图片资源智能地选择使用哪一种缓存策略(默认选项)。
RequestOptions options = new RequestOptions() 
        .diskCacheStrategy(DiskCacheStrategy.DiskCacheStrategy.AUTOMATIC); 

加载格式

Glide会自动判断图片的格式,自动显示gif图。如果需要指定格式,通过以下方法

静态图:

Glide.with(this) 
     .asBitmap() 
     .load("http://guolin.tech/test.gif") 
     .into(imageView);
//如果你传入的还是一张GIF图的话,Glide会展示这张GIF图的第一帧,而不会去播放它。

gif图:

Glide.with(this) 
     .asGif() 
     .load("http://guolin.tech/test.gif") 
     .into(imageView);

图片交换

Glide加载图片可以进行一些变换的操作。比如圆角,模糊等。

添加图片变换的用法非常简单,我们只需要在RequestOptions中串接transforms()方法,并将想要执行的图片变换操作作为参数传入transforms()方法即可;

RequestOptions options = new RequestOptions() 
        .transforms(...); 
Glide.with(this) 
     .load(url) 
     .apply(options) 
     .into(imageView);

至于具体要进行什么样的图片变换操作,这个通常都是需要我们自己来写的。不过Glide已经内置了几种图片变换操作,我们可以直接拿来使用,比如CenterCrop、FitCenter、CircleCrop等。所有的内置图片变换操作其实都不需要使用transform()方法,Glide为了方便我们使用直接提供了现成的API:

RequestOptions options = new RequestOptions() 
        .centerCrop(); 

RequestOptions options = new RequestOptions() 
        .fitCenter(); 

//圆形化裁剪
RequestOptions options = new RequestOptions() 
        .circleCrop();

简单的使用大致就这些,Glide很强大以上一些使用基本满足日常使用。

我做了一个ImageUtils的工具类,传送门

本文的部分代码来自郭霖的博客 传送门

资料

Glide强大的图片变换功能

glide-transformations 开源库

Glide 4.0 详解

相关文章

  • Glide4.0的用法

    前言 Glide 4相对于Glide 3改动非常大,尤其是aip的调用。 Glide4.0的用法 总结一下Glid...

  • Glide4.0后占位图和过渡动画冲突解决方案

    在使用Glide4.0后面的版本中,实现渐入动画效果一般采用requestBuilder.transition(D...

  • Glide 获取网络视频截图

    1.首先当然是配置网络权限啦。 2.配置glide4.0依赖。 3.最关键的方法来了。

  • Glide.override()方法找不到

    自Glide4.0之后,对原来的链式调用进行了改版。 原写法: 这种链式调用改版为: 以上是Glide的所有函数,...

  • Glide4.5源码分析一

    这篇摸清一个问题:Glide从网上下载图片的流程.Glide4.0加入了Generated API,如此现在有两种...

  • Glide4.0梳理

    Hi~ 我是Glide 现有图片框架介绍 1. Universal-Image-Loader(UIL) GitHu...

  • 解决Glide4.x上的crossFade无法生效

    问题出现场景 因为旧项目用的是Glide4.0,新项目升级到Glide4.8以后,加载的渐变效果crossFade...

  • Glide源码分析之缓存机制

      2017年9月份,记录了Glide4.0的集成和使用注意事项,后续一直没有对Glide的源码进行深入学习,接下...

  • glide4.0 支持https

    1.自定义OkHttpGlideModule 官网上 让写注释 @GlideModule但是我加上后 没有用啊 2...

  • Glide4.0使用浅解

    周六公司聚会,回来头晕乎乎的,工作也进行不了啦,看了篇博客说glide升级到4.0了 ,我去 瞬间一个激灵(虽然...

网友评论

      本文标题:Glide4.0的用法

      本文链接:https://www.haomeiwen.com/subject/ryebpftx.html