Android Glide的简单使用

所属分类: 软件编程 / Android 阅读数: 33
收藏 0 赞 0 分享

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

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

2.)设置绑定生命周期

   我们可以更加高效的使用Glide提供的方式进行绑定,这样可以更好的让加载图片的请求的生命周期动态管理起来

 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.)设置加载中以及加载失败图片

api里面对placeholder()、error()函数中有多态实现 用的时候可以具体的熟悉一下

Glide.with(this).load(imageUrl).placeholder(R.mipmap.ic_launcher).error(R.mipmap.ic_launcher).into(imageView);

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);

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
 //  自定义Transformation具体使用
Glide.with(this).load(imageUrl).transform(new GlideRoundTransform(this)).into(imageView);

12.)设置要加载的内容

// 项目中有很多需要先下载图片然后再做一些合成的功能,比如项目中出现的图文混////排,该如何实现目标下
  Glide.with(this).load(imageUrl).centerCrop().into(new SimpleTarget<GlideDrawable>() {
   @Override
   public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) {
    imageView.setImageDrawable(resource);
   }
  });

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

Glide.with(this).load(imageUrl).listener(new RequestListener<String, GlideDrawable>() {
   @Override
   public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
    return false;
   }
   @Override
   public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
    //imageView.setImageDrawable(resource);
    return false;
   }
  }).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主线程中进行

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

更多精彩内容其他人还在看

Android网络编程之获取网络上的Json数据实例

这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
收藏 0 赞 0 分享

Android网络编程之UDP通信模型实例

这篇文章主要介绍了Android网络编程之UDP通信模型实例,本文给出了服务端代码和客户端代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中使用ListView实现漂亮的表格效果

这篇文章主要介绍了Android中使用ListView实现漂亮的表格效果,本文用详细的代码实例创建了一个股票行情表格,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中刷新界面的二种方法

这篇文章主要介绍了Android中刷新界面的二种方法,本文使用Handler、postInvalidate两种方法实现界面刷新,需要的朋友可以参考下
收藏 0 赞 0 分享

Android SDK三种更新失败及其解决方法

这篇文章主要介绍了Android SDK三种更新失败及其解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(一)

Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(二)

这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(三)

今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android显示网络图片实例

这篇文章主要介绍了Android显示网络图片的方法,以实例形式展示了Android程序显示网络图片的方法,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多