《基于第三方开源框架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图: