史上最精簡Glide解析(一)
一、簡介
Glide,一個被google所推薦的圖片載入庫,作者是bumptech。這個庫被廣泛運用在google的開源專案中,包括2014年的google I/O大會上釋出的官方app。(PS:總所周知的簡介就到此為止了)
Glide 對於 Android SDK 的最低要求是 API level 10
Glide滑行的意思,可以看出這個庫的主旨就在於讓圖片載入變的流暢。現在被廣泛使用,當然還是有很多開發者使用Square公司的picasso,也有兩個庫的對比。
原文連結:http://inthecheesefactory.com/blog/get-to-know-glide-recommended-by-google/en
二、使用
1、匯入依賴:
compile 'com.github.bumptech.glide:glide:3.7.0'
2、使用方法以及介紹
Glide.with(context)//上下文 .load(url)//地址,包括網路和本地 .placeholder(R.drawable.place_image)//圖片加載出來前,顯示的圖片 .error(R.drawable.error_image)//圖片載入失敗後,顯示的圖片 .thumbnail(0.2f)//縮圖,顯示的圖片的原圖的0.2倍 //與第一種方式不同的是,這裡的第一個縮圖請求是完全獨立於第二個原始請求的。該縮圖可以是不同的資源圖片,同時也可以對縮圖做不同的轉換 .thumbnail(thumbnailRequest) .crossFade()//強制開啟glide預設的淡出淡入動畫,3.7.0預設開啟 .crossFade(3000)//設定開啟動畫的時間int duration,示例中是設定為3000ms .dontAnimate()//關閉glide的動畫 .animate(animator)//初次載入圖片的時候的動畫 .override(20, 20)//圖片的大小與裁剪,重新改變圖片的大小,單位是px .centerCrop()//將圖片按比例縮放到足矣填充 ImageView 的尺寸,但是圖片可能會顯示不完整 .fitCenter()//則是圖片縮放到小於等於 ImageView 的尺寸,這樣圖片是顯示完整了,但是 ImageView 就可能不會填滿了 .skipMemoryCache(true)//true為忽略快取,glide是預設做了記憶體快取的 .diskCacheStrategy(DiskCacheStrategy.NONE)//禁止磁碟快取,SOURCE 只快取全尺寸圖 ,RESULT 只快取最終的載入圖,ALL 快取所有版本圖(預設行為) .priority(Priority.HIGH)//圖片請求的優先順序,Priority.LOW,Priority.NORMAL,Priority.HIGH,Priority.IMMEDIAT .asGif()//當URL為gif並且加上改屬性就會載入為gif,若URL不是gif就會呼叫error(), .asBitmap()//當你想把gif顯示為靜態圖片時可以新增該屬性,此時僅僅是顯示gif的第一幀圖片 .load(Uri.fromFile(new File(filePath)))//filePath是一個本地視訊的路徑,所以glide可以載入本地視訊,僅僅是本地的啊 .into(imageView);//顯示圖片的目標
三、後記
本文是自己總結的,希望達到的效果就是簡單明瞭的學會的glide的所有屬性,看原始碼的請去官網。
有什麼不合適的地方請大家提議。
我會抽空把進階篇寫完的。