Android动画-帧动画

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" >

    <item
        android:drawable="@drawable/fight_1"
        android:duration="200"/>
    <item
        android:drawable="@drawable/fight_2"
        android:duration="200"/>
    <item
        android:drawable="@drawable/fight_3"
        android:duration="200"/>
    <item
        android:drawable="@drawable/fight_4"
        android:duration="200"/>
    <item
        android:drawable="@drawable/fight_5"
        android:duration="200"/>
    <item
        android:drawable="@drawable/fight_6"
        android:duration="200"/>
    <item
        android:drawable="@drawable/fight_7"
        android:duration="200"/>
    <item
        android:drawable="@drawable/fight_8"
        android:duration="200"/>
    <item
        android:drawable="@drawable/fight_9"
        android:duration="200"/>
    <item
        android:drawable="@drawable/fight_10"
        android:duration="200"/>
    <item
        android: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);
      }

 效果如下:

时间: 2024-12-19 09:35:37

Android动画-帧动画的相关文章

android 逐帧动画的播放与播放结束操作对象

逐帧动画的xml代码: 1 <?xml version="1.0" encoding="utf-8"?> 2 <animation-list xmlns:android="http://schemas.android.com/apk/res/android" 3 android:oneshot="true" > 4 5 <item 6 android:drawable="@drawabl

Android -- 逐帧动画

在处理耗时工作的时候,大多数会弹出一个加载的框,里面有一个连续旋转的图片,很多时候都是用一张图片,使用rotate来设定旋转,不过看起来不太美观,没有形象感,在3.0之前Android有两种动画效果分别是补间动画和帧动画,用一张图片实现的是使用补间动画,定义给出两个关键帧,通过一些算法将给定属性值在给定的时间内在两个关键帧间渐变. 动画布局                                                                               

Android 基础的三种动画 帧动画、补间动画、属性动画。

帧动画 drawable   animation 通过xml文件声明一个帧动画 ①在res目录下创建一个drawable目录 把用到的图片资源放到这个目录下 并且创建一个xml文件 根元素  animation-list可以设置一个属性 oneshot如果设置为true 动画只执行一次 执行之后停在最后一帧 animation-list 子元素item <?xml version="1.0" encoding="utf-8"?> 2. <anima

Android动画--帧动画和补间动画

帧动画 首先我们定义在drawable文件夹下定义一个xml文件 里面包含我们要播放的动画的图片,以及每一帧动画的播放的时长 <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@mi

Android实现帧动画,以及出场时的动画

最近有个小需求,在数据上传的时候加一个上传的动画,然后就寻思着自己写一个帧动画 上传开始的时候调用动画,上传结束通知容器将其删除(这个方法应该不会太耗内存),然后吐槽下gif图片还是我自己一帧一帧从ps上取出来然后另存为png格式的,哎,奖励自己一下竟然这么全能 写帧动画之前需要写一个帧list,命名为upload_anim.xml <?xml version="1.0" encoding="utf-8"?> <animation-list xml

Android逐帧动画的实现

转自http://blog.csdn.net/jwzhangjie/article/details/18323101 分类: android 视频播放器制作2014-01-15 21:39 3315人阅读 评论(0) 收藏 举报 在处理耗时工作的时候,大多数会弹出一个加载的框,里面有一个连续旋转的图片,很多时候都是用一张图片,使用rotate来设定旋转,不过看起来不太美观,没有形象感,在3.0之前Android有两种动画效果分别是补间动画和帧动画,用一张图片实现的是使用补间动画,定义给出两个关键

Android开发之Frame动画(帧动画)

学必求其得,业必贵其专精.--章学成 我们学习的根本是懂得怎样为人处世,而对于我们的专业一定要坚持不懈的学习让其达到精益求精的地步,这样我们才能在这个技术层出不穷的社会上立足,前进. 接下来就进入正题 如有谬误欢迎批评指正,如有疑问欢迎留言,谢谢. 今天我们就来学习一下Android中的Frame动画,在学习这些基础的东西我们一定要参考谷歌给我们的文档,因为谷歌的文档是最权威的讲解.官网给出的Frame Animation动画的定义 Frame动画:包含一个接一个的将要显示的图片资源,这是一个传

看完就会的Android动画(帧动画)

帧动画(Drawable Animation) 帧动画:加载一系列的图片资源,一张一张的显示播放. 实现步骤 1. 在res/drawable目录下创建一个xml文件,根节点是.并可以配置oneshot属性表示动画是否播放一次活反复播放. 2. 在xml文件内添加图片资源,以及设置图片播放的时长. 3. 在Activity中为指定的ImageView设置背景资源,然后再获取背景并转换成AnimationDrawable并开启动画. 代码演示 animation_drawable1.xml <?x

显示gif动画(帧动画的播放)

在android上显示gif不太方便,虽然有控件可以实现,但是效果不是很好,保险点儿的作法还是使用帧动画来处理.①在XML中定义animation-list:<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="fa