前言:
這一節我們將講到Glide如何加載gif圖
(我最開始使用的圖片框架其實是Imagerloader和Picasso,但是他們都不支持gif的加載,所以後來我纔開始嘗試使用Glide,慢慢的發現Glide許多的強大功能)
Glide 系列目錄
- 1.Glide-入門教程
- 2.Glide-佔位圖以及加載動畫
- 3.Glide-加載本地圖片
- 4.Glide-加載Gif
- 5.Glide-綁定生命週期
- 6.Glide-內存緩存與磁盤緩存
- 7.Glide-通過Modules定製Glide
- 8.Glide-自定義緩存
- 9.Glide-圖片的壓縮
- 10.Glide-圖片預處理(圓角,高斯模糊等)
- 11.Glide-圖片的剪裁(ScaleType)
- 12.Glide-源碼詳解
1.簡單加載
如果只是簡單加載gif,其實跟加載普通圖片一樣
Glide.with(this).load(mGifUrl).placeholder(R.mipmap.place).error(R.mipmap.icon_photo_error).into(mIv);
2.把gif當作普通圖片加載(asBitmap)
如果希望加載gif時只加載gif的第一幀,把gif當作普通圖片一樣加載,那麼只需要加上asBitmap方法即可
Glide.with(this).load(mGifUrl).asBitmap().placeholder(R.mipmap.place).error(R.mipmap.icon_photo_error).into(mIv);
3.檢查是否gif(asGif)
如果你希望加載的只是gif,如果不是gif就顯示錯誤圖片,那麼只用加上asGif方法即可
Glide.with(this).load(mGifUrl).asGif().placeholder(R.mipmap.place).error(R.mipmap.icon_photo_error).into(mIv);
4.加載本地視頻縮略圖
網絡上很多文章上都是從一篇譯文裏面拷貝過來的,裏面說Glide可以加載本地視頻,但是那篇譯文漏翻譯一句了,Glide只會加載本地視頻的第一幀,也就是縮略圖,而且其實加載縮略圖的時候也無需轉化爲Uri,直接把File丟進去就行了
mVideoFile = new File(Environment.getExternalStorageDirectory(), "xiayu.mp4");
Glide.with(this).load(mVideoFile).placeholder(R.mipmap.place).error(R.mipmap.icon_photo_error).into(mIv);
5.其他
在大多數情況下,當你使用diskCacheStrategy(DiskCacheStrategy.SOURCE)時,Gif的加載速度會顯着提高(其實就是把gif資源緩存到磁盤)
Glide.with(this).load(mGifUrl).diskCacheStrategy(DiskCacheStrategy.SOURCE).placeholder(R.mipmap.place).error(R.mipmap.icon_photo_error).into(mIv);