Givemepass's Android 惡補筆記

如何使用Glide

| Comments

來自
http://bng86.gitbooks.io/android-third-party-/content/glide.html

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)

Comments

comments powered by Disqus