Glide
這是一個強大的ImageLoader,Google也推這套Lib(明明自己就有volley...)
一開始是我在一些大神的Open source看到了這個Lib,
當時較流行UIL, Picasso..., 並沒有太多人使用Glide
直到Google推薦之後,就開始流行了
使用方法跟Picasso很像,被譽為Picasso的加強版
參考文件
ref | link |
---|---|
github | https://github.com/bumptech/glide |
如何使用
1.gradle
單純使用Glide
repositories { mavenCentral() } dependencies { compile 'com.github.bumptech.glide:glide:3.6.1' compile 'com.android.support:support-v4:19.1.0' }
Volley
如果你的專案正好用了Volley, 你可以...
dependencies { compile 'com.github.bumptech.glide:volley-integration:1.3.1' compile 'com.mcxiaoke.volley:library:1.0.5' }
然後在你的Application的onCreate加入
Glide.get(this) .register(GlideUrl.class, InputStream.class,new VolleyUrlLoader.Factory(yourRequestQueue));
okHttp
如果你的專案正好用了okHttp, 你可以...
dependencies { compile 'com.github.bumptech.glide:okhttp-integration:1.3.1' compile 'com.squareup.okhttp:okhttp:2.4.0' }
然後在你的Application的onCreate加入
Glide.get(this) .register(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory(new OkHttpClient()));
2.如何使用
Glide.with(viewHolder.imageView.getContext())
.load(url)
.error(R.drawable.ic_person)//load失敗的Drawable
.placeholder()//loading時候的Drawable
.animate()//設置load完的動畫
.centerCrop()//中心切圖, 會填滿
.fitCenter()//中心fit, 以原本圖片的長寬為主
.into(imageView);
他還有很多功能,直接夾在 load() 跟 into() 中間即可
GIF
對,他很酷,可以幫你處理GIF
Glide.with(context) .load(url) .asGif() .into(imageView)
Bitmap
直接跟他要bitmap, 可以用在設大圖background
Bitmap theBitmap = Glide.with(context) .load(url) .asBitmap() .into(100, 100). // Width and height .get();
Thumbnail
縮略圖, 0.1f就是原本的十分之一
Glide.with(context) .load(url) .thumbnail(0.1f) .into(imageView)