ddu-picture-glide

1.添加引用 build.gradle 中添加配置


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

2.设置绑定生命周期


Glide.with(Context context);//绑定Context

Glide.with(Activity activity);//绑定Activity

Glide.with(FragmentActivity activity);//绑定FragmentActivity

Glide.with(Fragment fragment);//绑定Fragment

3. 简单的加载图片实例


Glide.with(this).load(imageUrl).into(imageView);

4.设置加载中以及加载失败图片


     placeholder()、error()

5.设置跳过内存缓存


    Glide.with(this).load(imageUrl).skipMemoryCache(true).into(imageView);

6. 设置下载优先级


Glide.with(this).load(imageUrl).priority(Priority.NORMAL).into(imageView);


7.设置缓存策略


Glide.with(this).load(imageUrl).diskCacheStrategy(DiskCacheStrategy.ALL).into(imageView);

策略解说:

all:缓存源资源和转换后的资源

none:不作任何磁盘缓存

source:缓存源资源

result:缓存转换后的资源

8.设置加载动画

api也提供了几个常用的动画:比如crossFade()

Glide.with(this).load(imageUrl).animate(R.anim.item_alpha_in).into(imageView);

<set xmls..........>

    <alpha

    android:duration="500"

   android:fromAlpha="0.0"

   android:toAlpha="1.0"/>

</set/>

9.设置缩略图支持

这样会先加载缩略图 然后在加载全图

Glide.with(this).load(imageUrl).thumbnail(0.1f).into(imageView);

10.设置加载尺寸

Glide.with(this).load(imageUrl).override(800, 800).into(imageView);

11.设置动态转换

Glide.with(this).load(imageUrl).centerCrop().into(imageView);

api提供了比如:centerCrop()、fitCenter()等函数也可以通过自定义Transformation,举例说明:比如一个人圆角转化器

Glide.with(this).load(imageUrl).transform(newGlideRoundTransform(this)).into(imageView);

12.设置要加载的内容

项目中有很多需要先下载图片然后再做一些合成的功能,比如项目中出现的图文混排,该如何实现目标下

Glide.with(this).load(imageUrl).centerCrop().into(newSimpleTarget() {

@OverridepublicvoidonResourceReady(GlideDrawable resource, GlideAnimationglideAnimation) {

imageView.setImageDrawable(resource);

}

});

13 .设置监听请求接口

          Glide.with(this).load(imageUrl).listener(newRequestListener() {

@OverridepublicbooleanonException(Exception e, String model, Target target,booleanisFirstResource) {returnfalse;

}

@Override public boolean onResourceReady(GlideDrawable resource, String model, Target target,booleanisFromMemoryCache,booleanisFirstResource) {//imageView.setImageDrawable(resource);returnfalse;

}

}).into(imageView);

设置监听的用处 可以用于监控请求发生错误来源,以及图片来源 是内存还是磁盘

14 .设置动态GIF加载方式

Glide.with(this).load(imageUrl).asBitmap().into(imageView);//显示gif静态图片Glide.with(this).load(imageUrl).asGif().into(imageView);//显示gif动态图片

15.缓存的动态清理

Glide.get(this).clearDiskCache();//清理磁盘缓存 需要在子线程中执行Glide.get(this).clearMemory();//清理内存缓存  可以在UI主线程中进行

高级部分查看Gilde

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容