Glide的使用
Glide的使用
简单使用
- 引入
dependencies {
compile 'com.github.bumptech.glide:glide:3.5.2'
compile 'com.android.support:support-v4:22.0.0'
}
- 使用
Glide.with(MainActivity.this)
.load("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1488304980120&di=691744515390177625e5708270f84654&imgtype=0&src=http%3A%2F%2Fpic.58pic.com%2F58pic%2F17%2F16%2F41%2F06G58PICfVz_1024.jpg")
.into(imageView);
2.1 Glide的with()
可以接收的参数:
- Context context;
- Activity activity;
- FragmentActivity fragmentActivity;
- Fragment fragment;
2.2 load()是加载目标资源
可以接收的参数类型:
- Uri uri;
- String uriString;
- File file;
- Integer resourceId;
- byte[] model;
- String model;
2.3 into()就是加载资源完成后作什么处理,三种方式处理
1)into(ImageView imageView);//显示在控件上
2)into(Target target);//通过回调获得加载结果
Glide.with(MainActivity.this)
.load("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1488304980120&di=691744515390177625e5708270f84654&imgtype=0&src=http%3A%2F%2Fpic.58pic.com%2F58pic%2F17%2F16%2F41%2F06G58PICfVz_1024.jpg")
.into(new SimpleTarget<GlideDrawable>() {
@Override
public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) {
}
});
3)into(int w, int h);//指定期望的图片大小,返回一个future对象,要在子线程中获取
new Thread(new Runnable() {
@Override
public void run() {
Bitmap bitmap = Glide.with(context)
.load("xxxx.png")
.into(200, 200)
.get();
}
}).start();
区别
第一种是直接把图片加载出来显示在ImageView上,你并不会得到中间结果,也就是bitmap对象。
第二种、第三种都是可以获取到bitmap的,获取到后怎么处理自己决定。
第三种需要在子线程中调用
一些属性
-
设置图片大小 .override(int w, int h);
-
占位和错误显示 .placeHolder(int resourceId);
.error(int resourceId);
加载时和加载过程中显示的图片,这个图片通常就是本地的一张资源图片 -
缓存策略 .diskCacheStrategy(DiskCacheStrategy.ALL)
这个是设置缓存策略。
DiskCacheStrategy.NONE:不缓存
DiskCacheStrategy.SOURCE:缓存原始图片
DiskCacheStrategy.RESULT:缓存压缩过的结果图片
DiskCacheStrategy.ALL:两个都缓存 -
加载gif动态图 .asBitmap() .asGif()
只需要加一行代码,Glide就可以直接在ImageView上加载gif动态图,这个还是很方便的
关键就是asGif()这行代码,它就会自动加载成gif动态图,如果改成asBitmap(),就是静态图
Glide.with(context)
.load("xxx.gif")
.asGif()
.into(imageView);
- 跳过内存缓存 .skipMemoryCache(true)

浙公网安备 33010602011771号