Android Glide的简单使用

作者:雨季&流年 时间:2022-12-22 01:37:14 

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主线程中进行

来源:http://www.cnblogs.com/zhou2016/p/6281748.html

标签:Android,Glide
0
投稿

猜你喜欢

  • protobuf与json转换小结

    2023-01-23 15:26:34
  • java算法实现预测双色球中奖号码

    2022-06-19 17:01:22
  • JAVA.io读写文件方式汇总

    2022-10-14 06:32:21
  • java 字浮串提取方法汇集

    2023-11-24 14:43:16
  • Socket结合线程池使用实现客户端和服务端通信demo

    2023-01-21 20:23:50
  • 解决IDEA的Terminal中文乱码问题

    2022-05-06 01:31:08
  • Android Dialog对话框实例代码讲解

    2021-12-18 06:34:50
  • JAVA Integer类常用方法解析

    2021-09-01 06:51:08
  • C# FTP操作类分享

    2022-05-11 22:03:49
  • Java设计模式之java备忘录模式详解

    2023-08-22 19:31:07
  • java web手写实现分页功能

    2022-02-04 02:23:15
  • 使用maven profile指定配置文件打包适用多环境的方法

    2022-06-30 03:49:11
  • Spring main方法中如何调用Dao层和Service层的方法

    2023-11-28 23:15:19
  • Java编程接口回调一般用法代码解析

    2023-11-11 06:55:11
  • Springboot整合PageOffice 实现word在线编辑保存功能

    2022-12-03 22:38:18
  • Android使用DrawerLayout实现仿QQ双向侧滑菜单

    2023-07-18 23:48:24
  • SSH框架网上商城项目第2战之基本增删查改、Service和Action的抽取

    2023-06-21 19:16:23
  • Java面试题冲刺第二十二天-- Nginx

    2023-11-16 13:43:48
  • C++/java 继承类的多态详解及实例代码

    2022-11-28 10:22:06
  • unity中点击某一个按钮播放某一个动作的操作

    2023-12-01 04:38:05
  • asp之家 软件编程 m.aspxhome.com