《基于第三方開源架構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 {
@Override
protected 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圖: