1、布局文件中添加ImageView

<ImageView
android:id="@+id/iv_fan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/f1" />

//注意:如果不是手写的代码,即拖动进布局的ImageView需要修改android:src   改成android:background,否则无法播放!

2、res文件夹下添加anim文件夹,用来存放<animation-list>

  在anim文件夹下创建一个名称为fan_list的xml文件

  右键anim文件夹->new->Android XML File进入选择界面

  Resource Type: 选择Drawable

  Project: 自己的工程目录,通常情况下程序自己已经匹配好了,不用配置

  File:   xml文件的名称

  Root Element:  选择Animation-list

  选择Finish 完成创建

3、创建完成文件会出现在Drawable文件夹下,没关系,复制粘贴到anim文件夹下即可

  编辑xml文件,创建好的xml文件通常只带有一个头文件和一个标签

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" >

//在此处填写数据
</animation-list>

  填写数据的时候,android不会给出提示,所以需要记住

  fan_list文件内容如下:

  <?xml version="1.0" encoding="utf-8"?>
  <animation-list xmlns:android="http://schemas.android.com/apk/res/android" >

  <item
  android:drawable="@drawable/f1"
  android:duration="100"/>
  <item
  android:drawable="@drawable/f2"
  android:duration="100"/>
  <item
  android:drawable="@drawable/f3"
  android:duration="100"/>
  <item
  android:drawable="@drawable/f4"
  android:duration="100"/>
  <item
  android:drawable="@drawable/f5"
  android:duration="100"/>
  <item
  android:drawable="@drawable/f6"
  android:duration="100"/>
  <item
  android:drawable="@drawable/f7"
  android:duration="100"/>
  <item
android:drawable="@drawable/f8"
android:duration="100"/>

</animation-list>

    其中android:drawable是需要播放的图片数据,程序播放的时候会从上到下依次播放

    android:duration 持续时间,每张图片显示的时间,单位是ms

    这两个属性必须填写,不然无法播放

4、在程序中引用

public void InitView(){

  iv_fan = (ImageView) findViewById(R.id.imageView1);//实例化控件
  iv_fan.setBackgroundResource(R.anim.fan_list);//设置播放数据
  final AnimationDrawable anim = (AnimationDrawable) iv_fan//使用AnimationDrawable控制数据的播放和暂停
  .getBackground();
  iv_fan.setOnClickListener(new OnClickListener() {

  @Override
  public void onClick(View v) {

      anim.setOneShot(true);//设置只播放一次,false无限循环播放
      anim.start();//播放

    }
  });

}

Android播放图片动画的更多相关文章

  1. Android 播放Gif 动画

    在Android 中是不支持直接使用Gif 图片关联播放帧动画,如下动画在Android 中是无法播放的: Android 提供了另外一种解决的办法,就是使用AnimationDrawable 这一函 ...

  2. Android播放gif动画,增加屏幕掉金币效果

    前言:播放gif的版本有很多,我这边使用Android自带的Movie类播放gif动画,也是在别人的基础上进行修改.有同样需求的朋友可以参考我的demo. 1.效果图如下: 2.部分主要代码 Main ...

  3. Swift开发教程--怎样播放图片动画

    废话少说,直接上代码: var barsAnim = UIImageView(frame: self.view.frame); barsAnim.animationImages = NSArray() ...

  4. Android学习笔记进阶十一图片动画播放(AnimationDrawable)

    大家平时见到的最多的可能就是Frame动画了,Android中当然也少不了它.它的使用更加简单,只需要创建一个 AnimationDrawabledF对象来表示Frame动画,然后通过addFrame ...

  5. android 通过帧动画方式播放Gif动画

    注意:经过本人测试,这个方法很耗内存, 图片一多就崩了.慎用 <1>用工具(photoshop或者FireWorks)将GIF动画图片分解成多个GIF静态图片,然后保存在res\drawa ...

  6. Android 播放gif图片

    Android的原生控件并不支持播放GIF格式的图片.我们都知道,在Android中如果想要显示一张图片,可以借助ImageView控件来完成,但是如果将一张GIF图片设置到ImageView里,它只 ...

  7. Android实现播放GIF动画的强大ImageView

    我个人是比较喜欢逛贴吧的,贴吧里总是会有很多搞笑的动态图片,经常看一看就会感觉欢乐很多,可以释放掉不少平时的压力.确实,比起一张单调的图片,动态图片明显更加的有意思.一般动态图片都是GIF格式的,浏览 ...

  8. Android高级控件(二)——SurfaceView实现GIF动画架包,播放GIF动画,自己实现功能的初体现

    Android高级控件(二)--SurfaceView实现GIF动画架包,播放GIF动画,自己实现功能的初体现 写这个的原因呢,也是因为项目中用到了gif动画,虽然网上有很多的架包可以实现,不过我们还 ...

  9. android 拓展ImageView播放GIF动画

    原生Android控件ImageView并不能支持播放GiF格式的图片.如果将一张GIF的图片放入ImageView中,它只会显示图片的第一帧,不会产生任何动画效果. Android中播放GIF动画实 ...

随机推荐

  1. qt5.6.2简单操作mysql数据库

    1.新建个项目后,需要在.pro工程文件在中添加QT += sql,否则编译会出错: 2.如果出现数据库驱动未加载,则需要把mysql下的libmysql.dll拷贝到D:\Qt5.6.2\5.6\m ...

  2. python,os.path简单用法

    #首先导入os包 import os#引入time模块是因为需要将浮点型的时间转为东八区时间 import time # basename(path),去掉路径名称,单独返回文件名 f = os.pa ...

  3. Sql server—— for xml path简单用法(可以按照分组把相同组的列中的不同的值,像字符串一样拼接在一起显示在分组之后的列中。)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI8AAACWCAIAAABo2EyXAAAKeklEQVR4nO2dy27rNh7G+U7CFIrfZX

  4. ASP.NET Core中使用Autofac

    ⒈添加相关依赖 Install-Package Autofac ⒉扫描项目接口实现类 using Autofac; using System; using System.Collections.Gen ...

  5. Linux将rm命令设置为回收站【转】

    一个方案就是重定向 rm 命令以嫁接为 mv 命令,相当于给 Linux 系统定制了一个回收站. 实现方式如下: ### 重定义rm命令 ### # 定义回收站目录 trash_path='~/.tr ...

  6. 使用sudo而无需输入密码的设置

    在linux上,root用户是老大,什么事都能做.但是,很多时候由于安全等各种原因,我们不希望把root用户开放给大家,但是又希望其他的用户可以有root的权限,所以就有了sudo用户.而执行sudo ...

  7. BZOJ3224/LOJ104 普通平衡树 treap(树堆)

    您需要写一种数据结构,来维护一些数,其中需要提供以下操作:1. 插入x2. 删除x(若有多个相同的数,因只删除一个)3. 查询x的排名(若有多个相同的数,因输出最小的排名)4. 查询排名为x的数5. ...

  8. 004_为什么不推荐APP使用SSL-PINNING

    背景 之前工作的经历,前面技术团队的APP使用了SSL-PINNING,服务器SSL证书到期前,测试环境更换证书,在更换配置OK后,发现APP停止服务了.所有的请求全部都失败. 后来查到是APP使用了 ...

  9. Linux安装nodejs和npm

    先安装,nvm,即是Node Version Manager(Node版本管理器) curl -o- https://raw.githubusercontent.com/creationix/nvm/ ...

  10. 堆(Heap)详解——Java实现

    Heap 堆定义:(这里只讲二叉堆)堆实为二叉树的一种,分为最小堆和最大堆,具有以下性质: 任意节点小于/大于它的所有后裔,最小/大元在堆的根上. 堆总是一棵完全二叉树 将根节点最大的堆叫做最大堆或大 ...