基於開源架構Glide載入Gif資源圖到Android ImageView中,androidimageview
《基於第三方開源架構Android Glide載入Gif資源圖片到Android ImageView中》
通常Android的ImageView不能載入Gif圖片,如不做任何處理,那麼載入到ImageView中的Gif只顯示第一幀。網上給出很多解決方案,也有不少開源架構定製專屬的Gif View用於載入Gif圖,這些解決方案基本上大多數是藉助Android的Movie,把Gif圖片資源作為流,解析成Android Movie顯示,這些定製的基本思想就是先檢測該圖片資源是否是Gif圖,若是,則按照Android Movie解析之。
有一個Android Glide開源架構,本身在圖片載入和緩衝方面做的比較優秀,我之前已寫了一篇文章專門介紹如何在自己的項目中具體使用Android Glide庫(該文章的連結地址:http://blog.csdn.net/zhangphil/article/details/45535693 ),同時,Android Glide載入Gif圖片也很方便,把需要載入的gif圖放到drawable目錄下,然後就和普通的Andriod ImageView設定一個圖片資源R.drawanle.xxx一模一樣,很簡單。或者從網路URL載入一個圖片,開發人員不用關心這個圖片資源是否是gif還是其他jpg還是png等等格式,直接將其當作一個普通的圖片載入之即可,至於該圖片資源格式的判斷處理及繪製,則有Android Glide全部代勞。
現舉例:
package zhangphil.gif;import com.bumptech.glide.Glide;import android.support.v7.app.ActionBarActivity;import android.widget.ImageView;import android.os.Bundle;public class MainActivity extends ActionBarActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ImageView imageView = (ImageView) findViewById(R.id.imageView);Glide.with(this).load(R.drawable.loading).into(imageView);}}
其中,R.drawable.loading是載入了drawable目錄下的loading.gif圖: