Android显示动态图片

 GifView 是一个为了解决android中现在没有直接显示gif的view,只能通过mediaplay来显示这个问题的项目,其用法和 ImageView一样,支持gif图片
使用方法:
1-把GifView.jar加入你的项目。

2-在xml中配置GifView的基本属性,GifView继承自View类,和Button、ImageView一样是一个UI控件。如:

<com.ant.liao.GifView android:id="@+id/gif2"
 android:layout_height="wrap_content" android:layout_width="wrap_content"
 android:paddingTop="4px" android:paddingLeft="14px" android:enabled="false" />

3-在代码中配置常用属性:

// 从xml中得到GifView的句柄
gf1 = (GifView) findViewById(R.id.gif1);
// 设置Gif图片源
gf1.setGifImage(R.drawable.gif1);
// 添加监听器
gf1.setOnClickListener(this);
// 设置显示的大小,拉伸或者压缩
gf1.setShowDimension(300, 300);
// 设置加载方式:先加载后显示、边加载边显示、只显示第一帧再显示
gf1.setGifImageType(GifImageType.COVER);

GifView的Jar包共有四个类:

GifAction.java 观察者类,监视GIF是否加载成功
GifFrame.java 里面三个成员:当前图片、延时、下张Frame的链接。
GifDecoder.java 解码线程类
GifView.java 主类,包括常用方法,如GifView构造方法、设置图片源、延迟、绘制等。

package com.example.gifdemo;import com.ant.liao.GifView;
import com.ant.liao.GifView.GifImageType;import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;public class MainActivity extends Activity  {private GifView gf;private boolean f = true;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);gf = (GifView)findViewById(R.id.gif);gf.setGifImageType(GifImageType.COVER);//gf.setShowDimension(600, 600);gf.setGifImage(R.drawable.chi);gf.setOnClickListener(new OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(f){gf.showCover();f = false;}else{gf.showAnimation();f = true;}}});}/*  public void onClick(View v) {if(f){gf.showCover();f = false;}else{gf.showAnimation();f = true;}}*/}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><com.ant.liao.GifViewandroid:id="@+id/gif"android:layout_width="wrap_content"android:layout_height="wrap_content"android:enabled="false"android:paddingLeft="14px"android:paddingTop="4px"/></RelativeLayout>


这个jar包可以去百度下载


Android基础之十八显示gif动画,动态图片相关推荐

  1. QT5开发及实例学习之十八显示Qt5 SVG格式图片

      SVG 的英文全称是 Scalable Vector Graphics,即可缩放的矢量图形.它是由万维网络联盟 ( World Wide Web Consortium, W3C ) 在 2000 ...

  2. Android绘图Canvas十八般武器之Shader详解及实战篇(上)

    本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 前言 Android中绘图离不开的就是Canvas了,Canvas是一个庞大的知识体系,有java层的,也有jni层深入到Frame ...

  3. Android绘图Canvas十八般武器之Shader详解及实战篇(下)

    前言 上一篇<Android绘图Canvas十八般武器之Shader篇(上)> 我们知道了Bitmap的用法,及TileMode的详细情况.接下来,这一篇作为整个知识体系的下半部要讲的是S ...

  4. android 编辑9图片,Android基础入门教程——1.6 .9(九妹)图片怎么玩

    Android基础入门教程--1.6 .9(九妹)图片怎么玩 Android基础入门教程 1.本节引言: 可能有的一些疑问: 1.什么是.9图片? 答:图片后缀名前有.9的图片,如pic1.9.png ...

  5. Android基础入门教程——1.6 .9(九妹)图片怎么玩

    转自:http://blog.csdn.net/coder_pig/article/details/46963687 Android基础入门教程--1.6 .9(九妹)图片怎么玩 标签(空格分隔):  ...

  6. Android进阶(二十八)上下文菜单ContextMenu使用案例

    上下文菜单ContextMenu使用案例 前言 回顾之前的应用程序,发现之前创建的选项菜单无法显示了.按照正常逻辑来说,左图中在"商品信息"一栏中应该存在选项菜单,用户可进行分享等 ...

  7. JavaSE基础知识(十八)--Java多态之向上转型(多态初步)

    Java SE 是什么,包括哪些内容(十八)? 本文内容参考自Java8标准 再次感谢Java编程思想对本文的启发! 开篇一句很重要的话:在面向对象的程序设计语言中,多态是继数据抽象和继承之后的第三种 ...

  8. android各目录大小,Android 基础篇 — 放不同drawable文件夹中图片的大小

    我们接着上篇文章Android 基础篇 - 不同DPI取哪个本地文件夹中的资源 讲,文末尾提到一个问题,为什么不同drawable文件夹中的图片大小在终端设备会不一样? 1 准备 在drawable- ...

  9. 物流基础知识(十八)

    流通加工的概念 一.流通加工的概念 流通加工是流通中的一种特殊形式. 商品流通是以货币为媒介的商品交换,它的重要职能是将生产及消费(或再生产)联系起来,起"桥梁和纽带"作用,完成商 ...

最新文章

  1. Caffe 学习笔记1
  2. kafka 报错:kafka server:Message was too large ,server rejected it to avoid allocation
  3. 近代数字信号处理实验-DFT分析信号的频谱
  4. sklearn adaboost_集成学习-从零推导和实现adaboost与3D可视化
  5. ROS笔记(6) ROS通讯机制
  6. 方阵和的行列式、方阵行列式的和
  7. android模拟点击滑动,模拟Android的view点击和滑动监听
  8. Android RecyclerView批量更新notifyItemRangeChanged
  9. 洛谷1123 取数游戏
  10. [Crypto/CTF]CTF Crypto 包函数和工具总结[ 2021/10/30更新]
  11. 卫星控制类操作系统VAX/VMS简介
  12. 数据挖掘-基于随机森林模型的企业偷漏税纳税人识别
  13. golang 实现 tcp-聊天室
  14. 錦匯行商業管理公司对于西昌商铺一条街公开秩序管理方案
  15. raspberry树莓派用USB麦克风录音,只有杂音的问题
  16. Anaconda环境的创建、激活、删除和管理
  17. 【Solidity】函数returns多个值的接收方式
  18. T 检验 (T test)
  19. 一文读懂5G智慧教育:42个应用场景如何改变教育
  20. 优达的Python入门课

热门文章

  1. 微服务--Gateway--服务网关
  2. Tomcat重启脚本
  3. Linux DRM(二)基本概念和特性
  4. CocoStudio UI 编辑器的使用
  5. 本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止.
  6. ajax调用ashx页面内的方法
  7. java字符串正序倒序连接_java字符串实现正序和倒序输出
  8. 出现了,PPT 制作新方式——GitHub 热点速览 v.21.19
  9. 一个已经转行一年的程序员的感受
  10. 高性能风控数据平台设计