Glide的使用

Glide:谷歌推荐的一个网络图片加载库,和Picasso类似,Picasso缓存的是原图,而Glide缓存的是你所设置的Imageview的大小的图片。

使用:

1、导入Glide库和V4包,因为Glide依赖于V4

dependencies {
    compile 'com.android.support:support-v4:24.0.0-beta1'
    compile 'com.github.bumptech.glide:glide:3.7.0'
}

2、Glide的一般用法

 Glide.with(MainActivity.this)  
//网络图片的地址  
.load("http://img3.imgtn.bdimg.com/it/u=3729580552,646614237&fm=21&gp=0.jpg")      
//加载图片的控件
.into(imageView);

效果:
glide

以上就是Glide的一般用法,我们在项目里很可能要用到其它一些需求,比如加载图片前显示什么,加载完成后要做什么等等,这就需要用到Glide的一些其它方法了。

更多配置:

 Glide.with(MainActivity.this)
                //网络图片的地址
                .load("http://img0.imgtn.bdimg.com/it/u=2700801873,2162292373&fm=21&gp=0.jpg")
                //重新设置图片的尺寸
                .override(200,200)
                //加载失败显示的图片
                .error(R.drawable.ic_launcher)
                //设置加载前的占位图
                .placeholder(R.drawable.ic_launcher)
                //让Glide既缓存全尺寸又缓存其他尺寸
                .diskCacheStrategy(DiskCacheStrategy.ALL)
                //均衡的缩放图像(保持图像原始比例),
                // 使图片的两个坐标(宽、高)都大于等于 相应的视图坐标(负的内边距)。图像则位于视图的中央
                .centerCrop()
                //加载到imageView控件
                .into(imageView);

以下内容引用自:
http://blog.csdn.net/shangmingchao/article/details/51125554

thumbnail(float sizeMultiplier).

请求给定系数的缩略图。如果缩略图比全尺寸图先加载完,就显示缩略图,否则就不显示。系数sizeMultiplier必须在(0,1)之间,可以递归调用该方法。

sizeMultiplier(float sizeMultiplier).

在加载资源之前给Target大小设置系数。

diskCacheStrategy(DiskCacheStrategy strategy).

设置缓存策略。
DiskCacheStrategy.SOURCE:缓存原始数据,
DiskCacheStrategy.RESULT:缓存变换后的资源数据,DiskCacheStrategy.NONE:什么都不缓存,
DiskCacheStrategy.ALL:缓存SOURC和RESULT。

默认采用DiskCacheStrategy.RESULT策略,对于download only操作要使用DiskCacheStrategy.SOURCE。

priority(Priority priority).

指定加载的优先级,优先级越高越优先加载,但不保证所有图片都按序加载。
枚举Priority.IMMEDIATE,Priority.HIGH,Priority.NORMAL,Priority.LOW。默认为Priority.NORMAL。

dontAnimate().

移除所有的动画。

animate(int animationId).

在异步加载资源完成时会执行该动画。

animate(ViewPropertyAnimation.Animator animator).

在异步加载资源完成时会执行该动画。

placeholder(int resourceId).

设置资源加载过程中的占位Drawable。

placeholder(Drawable drawable).

设置资源加载过程中的占位Drawable。

fallback(int resourceId).

设置model为空时要显示的Drawable。
如果没设置fallback,model为空时将显示error的Drawable,如果error的Drawable也没设置,就显示placeholder的Drawable。

fallback(Drawable drawable).

设置model为空时显示的Drawable。

error(int resourceId).

设置load失败时显示的Drawable。

error(Drawable drawable).

设置load失败时显示的Drawable。

listener(RequestListener
skipMemoryCache(boolean skip).

设置是否跳过内存缓存,但不保证一定不被缓存(比如请求已经在加载资源且没设置跳过内存缓存,这个资源就会被缓存在内存中)。

override(int width, int height).

重新设置Target的宽高值(单位为pixel)。

into(Y target).

设置资源将被加载到的Target。

into(ImageView view).

设置资源将被加载到的ImageView。取消该ImageView之前所有的加载并释放资源。

into(int width, int height).

后台线程加载时要加载资源的宽高值(单位为pixel)。

preload(int width, int height).

预加载resource到缓存中(单位为pixel)。

asBitmap().

无论资源是不是gif动画,都作为Bitmap对待。如果是gif动画会停在第一帧。

asGif().

把资源作为GifDrawable对待。如果资源不是gif动画将会失败,会回调.error()。

注意:
清除内存缓存:
// 必须在UI线程中调用
Glide.get(context).clearMemory();
清除磁盘缓存:
// 必须在后台线程中调用,建议同时clearMemory()
Glide.get(applicationContext).clearDiskCache();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值