android加载网络gif图片
2015-12-25 15:29
627 查看
支持gif的imageview,使用github上的开源框架,项目地址https://github.com/koral--/android-gif-drawable
如果gif是网络图片,这个库不支持直接加载一个url,但是提供了一个GifDrawable 类,可以通过文件,输入流等方式创建GifDrawable,
所以可以先下载下来或者获得输入流,通过创建drawable加载。下面例举两种方法:
1、下载到sd卡,再加载
View Code
如果gif是网络图片,这个库不支持直接加载一个url,但是提供了一个GifDrawable 类,可以通过文件,输入流等方式创建GifDrawable,
所以可以先下载下来或者获得输入流,通过创建drawable加载。下面例举两种方法:
1、下载到sd卡,再加载
DownloadUtils.java
public class LoadGifUtils { private onCompltedListener listener; public void loadGif(String url) { MyRunnable myRunnable = new MyRunnable(url); new Thread(myRunnable).start(); } class MyRunnable implements Runnable { String url; MyRunnable(String url) { this.url = url; } @Override public void run() { byte[] bt=new byte[1024]; try { HttpClient client = new HttpClient(); GetMethod get = new GetMethod(url); client.executeMethod(get); bt = get.getResponseBody(); sendMsg(1,bt); } catch (Throwable ex) { System.out.println(ex.toString()); } } } private void sendMsg(int what, Object mess) { Message m = handler.obtainMessage(); m.what = what; m.obj = mess; m.sendToTarget(); } Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { switch (msg.what) { case 1: // 开始下载 byte[] bt = (byte[]) msg.obj; if(listener!=null) { listener.onComplted(bt); } break; } super.handleMessage(msg); } }; interface onCompltedListener { void onComplted(byte[] bt); } void setListener(onCompltedListener listener){ this.listener=listener; } }
View Code
相关文章推荐
- Linux网络接口配置文件简介
- Http中Cookie和Session介绍
- https调用出现【基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系】错误
- 【iOS】MD5加密与网络数据安全
- 快速自制TC注册码网络验证码系统
- Http协议概述
- 全站 HTTPS 来了
- MFC的网络编程学习摘记
- 全站 HTTPS 来了
- 神经网络中与BP传播算法
- Apache配置http访问转https
- 在Apache+mod_wsgi+python的基础上搭建https安全访问
- 社交网络有依赖症的人都有共同的特点
- Go支持https协议的简单例子
- 非常简单的Python HTTP服务
- 网络传输(最大重叠次数)
- Android网络图片查看器
- WEB级HTTP请求内容的工具
- swift网络请求的相关方法
- Java基础--网络编程01