基于开源框架Glide加载Gif资源图到Android ImageView中

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



时间: 2024-12-08 20:01:52

基于开源框架Glide加载Gif资源图到Android ImageView中的相关文章

Android 开源框架Universal-Image-Loader加载https图片

解决方案就是 需要 android https HttpsURLConnection 这个类忽略证书 1,找到 Universal-Image-Loader的library依赖包下面com.nostra13.universalimageloader.core.download下面的BaseImageDownloader这个类 里面的createConnection这个方法,添加如下: 1 protected HttpURLConnection createConnection(String ur

laravel框架加载静态资源注意事项

laravel框架加载静态资源 要注意路径问题,一般静态资源都保存在public目录下 默认访问的路径就指向public目录,用 / 表示public目录 静态资源加载示例: <link href="/admin/css/bksystem.css" rel="stylesheet" type="text/css" /> bksystem.css文件存放在public目录下的admin目录下的css文件下面,这里最前面的/千万不要省略否

CI框架 -- 自动加载资源

CodeIgniter 的"自动加载"特性可以允许系统每次运行时自动初始化类库.辅助函数和模型. 如果你需要在整个应用程序中全局使用某些资源,为方便起见可以考虑自动加载它们. 支持自动加载的有下面这些: libraries/ 目录下的核心类 helpers/ 目录下的辅助函数 config/ 目录下的用户自定义配置文件 system/language/ 目录下的语言文件 models/ 目录下的模型类 要实现自动加载资源,你可以打开 application/config/autoloa

《开源框架那点事儿13》:基于开源框架做应用是未来中小型软件公司的发展趋势

在我的周边朋友身边就发生过这样的事情: 故事1:A君在北京从事Java开发好多年了,萌发了创业的念头,想组建了一个开发团队想大干一场.但是慢慢发现,构建一个有战斗力的团队真不容易.后来技术团队的组建初步有了起色,但是技术路线却非常难成一致意见.折腾来折腾去,把有点上道的技术人员都折腾得跳槽了.费了巨高的成本搞了一个架构师,就是利用SSH框架搭建了一个开发环境,数据量小,业务初期还是不错的,但是当业务快速增长的时候,运行速度就无法满足需要了.是重新来过还是在SSH的基础上继续折腾,非常难以抉择!

Android示例应用:开源框架Glide的使用

Android开源框架Glide的使用-示例应用 加载网络图片 加载网络图片 加载本地图片-简易图库 加载网络图片 引入对应的库 compile 'com.android.support:recyclerview-v7:25.0.0' compile 'com.github.bumptech.glide:glide:3.7.0' 创建RecyclerView的布局res/layout/fragment_list.xml <?xml version="1.0" encoding=&

Struts2的国际化(二)-利用超链接实现动态加载国际化资源文件

原理:程序是根据Locale来确定国际化资源文件,因此关键之处在于知道 Struts2 框架是如何确定 Local 对象的 ! 由于Struts2 使用 i18n 拦截器处理国际化,并且将其注册在默认的拦截器中,因此,可以通过阅读 I18N 拦截器知道. 具体确定 Locale 对象的过程: > Struts2 使用 i18n 拦截器 处理国际化,并且将其注册在默认的拦截器栈中 > i18n拦截器在执行Action方法前,自动查找请求中一个名为 request_locale 的参数. 如果该参

Android中的Glide加载图片

注意:在Android Studio的项目的build.gradle中添加: compile 'com.github.bumptech.glide:glide:3.6.1' 然后同步一下 目录: 使用Glide结合列表的样式进行图片加载 如果使用的是RecyclerView,可以在Adapter的onBindViewHolder方法中使用 当加载网络图片时,由于加载过程中图片未能及时显示,此时可能需要设置等待时的图片,通过placeHolder()方法 当加载图片失败时,通过error(Draw

“不同浏览器对于同一域名的并发获取(加载)资源数是有限的”

转自:http://www.nowamagic.net/librarys/veda/detail/1077 这个总结来源于一次优化的请求,最初某个页面的加载十分缓慢,load事件迟迟无法触发,因此希望可以通过对静态文件分域名等方式对页面的外部资源进行优化,拿得load事件尽可能早地触发.于是我查看了页面的源码,并对外部资源进行了整理,基于下面2个理念画出了一个推测的瀑布图: 浏览器对同一个域只能并发2个HTTP请求 - 网上盛传已久. javascript文件的加载会阻塞浏览器其他资源的加载 -

Glide加载异常调试

Glide提供了listener链式调用方法,传入一个RequestListener对象,然后实现内部的onException方法,那么在Glide加载图片失败时就会调用这个方法. 代码实现很简单: private RequestListener<String, GlideDrawable> requestListener = new RequestListener<String, GlideDrawable>() { @Override public boolean onExce