Android 平台提供了两种动画一种是 Frame动画,即顺序的播放事先做好的图像,与gif图片或者说跟放电影的原理相似,另一种是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变),本文中是是介绍第一种帧动画的的实现,帧动画是一种常见的动画形式(Frame By Frame),其原理是在“连续的关键帧”中分解动画动作,也就是在时间轴的每帧上逐帧绘制不同的内容,使其连续播放而成动画。 因为逐帧动画的帧序列内容不一样,不但给制作增加了负担而且最终输出的文件量也很大,但它的优势也很明显:逐帧动画具有非常大的灵活性,几乎可以表现任何想表现的内容,而它类似与电影的播放模式,很适合于表演细腻的动画。

布局文件

首先在res中新建一个drawable文件夹,将需要展示的图片放在里面,同样的还有展示图片的fight.xml文件,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"android:oneshot="false" ><itemandroid:drawable="@drawable/fight_1"android:duration="200"/><itemandroid:drawable="@drawable/fight_2"android:duration="200"/><itemandroid:drawable="@drawable/fight_3"android:duration="200"/><itemandroid:drawable="@drawable/fight_4"android:duration="200"/><itemandroid:drawable="@drawable/fight_5"android:duration="200"/><itemandroid:drawable="@drawable/fight_6"android:duration="200"/><itemandroid:drawable="@drawable/fight_7"android:duration="200"/><itemandroid:drawable="@drawable/fight_8"android:duration="200"/><itemandroid:drawable="@drawable/fight_9"android:duration="200"/><itemandroid:drawable="@drawable/fight_10"android:duration="200"/><itemandroid:drawable="@drawable/fight_11"android:duration="200"/></animation-list>

 文件夹的布局:

Demo实现

MainActivity定义一个ImageView,oncreate中调用:

   ImageView fightImage = (ImageView) findViewById(R.id.image_aniation);fightImage.setBackgroundResource(R.drawable.fight);fightnimation = (AnimationDrawable) fightImage.getBackground();

不能加载的时候立即调用,需要在触摸的时候调用:

   public boolean onTouchEvent(MotionEvent event) {if (event.getAction() == MotionEvent.ACTION_DOWN) {fightnimation.start();return true;}return super.onTouchEvent(event);}

 效果如下:

转载于:https://www.cnblogs.com/xiaofeixiang/p/4101548.html

Android动画-帧动画相关推荐

  1. Android 逐帧动画(Frame)

    Android 逐帧动画(Frame)  很好理解就是将多张图片放到一个容器里面通过控制这些图片一帧一张图片从而形成动画 使用的使用通过AnimationDrawable 加载放好的图片 然后通过调用 ...

  2. Android之帧动画与补间动画的使用

    前言 在日常开发中,我们有时候需要一些好看的动画效果,这时可以充分利用Android提供的这几种动画来实现, Android提供了3种类型的动画: 补间动画:补间动画可以应用于View,让你可以定义一 ...

  3. android 自定义帧动画,Android 自定义方式实现帧动画效果

    前言 首先说下为啥要通过自定义处理的方式去实现Android的帧动画效果,因为通过系统原生支持的xml和java代码这两种方式实现,在播放的图片量很多时,会出现内存溢出,此现象也是在做项目当中有遇到, ...

  4. Android使用帧动画解决内存溢出问题

    Android使用帧动画解决内存溢出问题 参考文章: (1)Android使用帧动画解决内存溢出问题 (2)https://www.cnblogs.com/mcfawa/p/5192335.html ...

  5. Android逐帧动画——让图片动起来

    Android逐帧动画--让图片动起来 前言:逐帧动画要求开发者把动画过程的每张静态图片都收集起来,然后由android来控制依次显示这些静态图片,然后利用人眼视觉暂留的原理,给用户造成"动 ...

  6. android 播放gif动画效果,android 通过帧动画方式播放Gif动画

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

  7. android 创建帧动画,Android 逐帧动画创建实例详解

    Android 逐帧动画创建实例详解 前言: 我们看早期电影的时候,电影通常是一张一张播放,用我们现在专有名词来说,就是一帧帧来,安卓同样有这样动画效果的编排形式. 那么我们先定义逐帧动画xml文件 ...

  8. android 逐帧动画自动播放以及逐帧动画与渐变动画结合的停止问题

    关于逐帧动画的自动播放: android 逐帧动画一般不能直接在onCreat()方法里直接调用.start(),否则只是播放动画的第一帧,可重写onWindowFocusChanged(boolea ...

  9. Android开发总结之动画(帧动画+补间动画)

    一.概述 动画的概念   动画的概念不同于一般意义上的动画片,动画是一种综合艺术,它是集合了绘画.漫画.电影.数字媒体.摄影.音乐.文学等众多艺术门类于一身的艺术表现形式.   动画的英文有很多表述, ...

  10. Android 三种动画 (帧动画 、补间动画、属性动画)

    1.帧动画 帧动画是依次展示n张静态图片,造成动画的错觉,类似看视频一样. 使用方式 在drawable目录下定义XML文件,根节点为animation-list,然后放入定义更好的图片 onesho ...

最新文章

  1. 人生必做清单-----持续更新
  2. Git-TortoiseGit完整配置流程
  3. PB的setfilter()和modify()一些不为人知的技巧
  4. Day 21:Docker 入门教程
  5. 怎样的代码算是好代码?
  6. 0421 AutoLayout的实践/基本使用
  7. mysql怎么设置主键增长序列_mysql 如何设置自动增长序列 sequence(一)
  8. SEO:提高关键词排名的28个SEO技巧
  9. python时间序列分析——基于混沌和数据分形理论的特征构建
  10. 绩效考核|绩效管理|绩效面谈|绩效述职|绩效汇报PPT模板
  11. c语言prime函数怎么用_用一个自动关机小程序小试牛刀,玩转C语言System函数,边学边玩...
  12. ps随意改变图层形态
  13. Html5前景分析发展,HTML5未来发展的5大趋势
  14. 网络就好似一个个树洞
  15. chrome主页篡改修复
  16. 掌握五个元组的用法,让python代码飞得更快
  17. IT类人人才如何申请加拿大BC省雇主担保移民
  18. 美剧中的英文粗语脏话知多少?
  19. 【Github】使用github
  20. 认识WebStorm-小程序框架wepy

热门文章

  1. python建立空集合_「python」集合类型及操作
  2. 数据丢包怎么修复_网络丢包率如何解决
  3. 解决SQLServer占用80端口问题
  4. [Ext JS 4] MVC 应用程序框架
  5. html dom手机版,HTML DOM - 元素
  6. Linux下的free命令
  7. tftp 查看服务器文件,如何从命令提示符列出Windows tftp服务器目录和文件?
  8. 电子工程可以报考二建_二建报考要求是工程类专业怎么办?非工程类专业可以报名吗?...
  9. JSP提交中文乱码的解决
  10. Oracle触发器3-DDL触发器