您的位置:首页 > 其它

Glide的使用

2016-06-21 17:56 197 查看
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.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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Glide