Android动画(1)--概述及FrameAnimation

原创 2016年08月28日 14:50:04

最近看了一些研究Android动画的一些资料,为了方便自己和他人学习,现在在此做一些记录分析。

概述


Android动画的实现不得不谈一个类 ,叫Animation这些类为某个属性动画系统提供功能,它使你可以赋予任何类型的对象属性以动态特性。int,float,和十六进制颜色值这些被默认支持。你还可以通过指定一个客制的类型计算器,告诉系统如何对给给定的类型计算它的值,以此来为任何其他类型增加动画效果。 更多信息,参见动画章节向导 你可以设置多种不同类型的内插器(包含于 android.view.animation之中),指定关键帧,或者顺序或同时播放的动画组(通过AnimatorSet),以更进一步控制你的动画行为。


Animation可以分为ViewAnimation和Property Animation,当然,View的Animation又分为帧动画和补间动画。为了实现动画效果,我们不仅可以使用Animation这个类,还可以使用自定义view来实现相关功能

View Animation(Tween Animation) 只能支持简单的缩放、平移、旋转、透明度基本的动画,且有一定的局限性。
Frame Animation (Drawable Animation) 使用Animation-list将一串drawable进行排列,ViewAnimation的一种形式
Property Animation 通过动画的方式改变对象的属性了

帧动画(Frame Aniamtion )

帧动画的实现比较简单,有点类似连环画一样,是将一系列drawable串起来的动画形式

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false">

    <item
        android:drawable="@mipmap/animation1"
        android:duration="150"></item>
    <item
        android:drawable="@mipmap/animation2"
        android:duration="150"></item>
    <item
        android:drawable="@mipmap/animation3"
        android:duration="150"></item>
    <item
        android:drawable="@mipmap/animation4"
        android:duration="150"></item>
    <item
        android:drawable="@mipmap/animation5"
        android:duration="150"></item>
    <item
        android:drawable="@mipmap/animation6"
        android:duration="150"></item>
    <item
        android:drawable="@mipmap/animation7"
        android:duration="150"></item>
    <item
        android:drawable="@mipmap/animation8"
        android:duration="150"></item>
</animation-list>
    根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画
    根标签下,通过item标签对动画中的每一个图片进行声明
    android:duration 表示展示所用的该图片的时间长度

动画的使用方法

1,将文件创建在Drawable目录下
2,代码中引用

imgPic.setImageResource(R.drawable.animation);
        //给动画资源赋值
        animationDrawable = (AnimationDrawable) imgPic.getDrawable();

//动画开始
  animationDrawable.start();//开始
  //动画结束
  animationDrawable.stop(); //停止
  就是这么简单

使用注意

此方法小概率会导致OOM,不推荐使用

效果图

这一节就写到这里,下一节,我们来介绍View Animation的。Tween animation,请持续关注,如有不足,欢迎讨论交流,共同进步

项目的github例子地址为:
https://github.com/litianyuan1111/AndroidAnimation

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android动画解析(一)—— Frame Animation(帧动画)

动画在我们实际开发中占有很重要的地位,一个优秀的动画能为我们的app应用增色很多,同时一个优秀的动画衔接能够增加我们app的逻辑展示。在Android系统中,系统给我们提供了几种动画的支持,分别是Fr...
  • Mr_dsw
  • Mr_dsw
  • 2016年03月05日 21:35
  • 5381

集合框架_增强for的概述和使用

package cn.itcast_01; import java.util.ArrayList; import java.util.Iterator; import java.util.List;...
  • L1585931143
  • L1585931143
  • 2016年12月25日 14:26
  • 182

JAVA进阶之旅(一)——增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法

JAVA进阶之旅(一)——增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法 学完我们的java之旅,其实收获还是很多的,但是依然还...
  • qq_26787115
  • qq_26787115
  • 2016年09月25日 18:32
  • 1562

浅析Ajax跨域原理及JQuery中的实现分析

AJAX 的出现使得网页可以通过在后台与服务器进行少量数据交换,实现网页的局部刷新。但是出于安全的考虑,ajax不允许跨域通信。如果尝试从不同的域请求数据,就会出现错误。如果能控制数据驻留的远程服务器...
  • danmo01
  • danmo01
  • 2014年12月04日 16:50
  • 265

DOS概述及入门(读书笔记)

1.DOS的启动 DOS系统启动时,要先从启动盘读取IO.SYS、MSDOS.SYS,然后在启动盘的根目录下寻找并执行CONFIG.SYS、COMMAND.COM、AUTOEXEC.BAT三...
  • wang740209668
  • wang740209668
  • 2016年08月30日 22:19
  • 241

黑马程序员——Set集合概述及特点

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- Set集合概述及特点  Set集合特点:无顺序不可重复 注意:我们学习set,它的方法没有特殊,...
  • wnk77521
  • wnk77521
  • 2015年04月29日 01:48
  • 489

Android动画之逐帧动画(FrameAnimation)详解

转载请注明出处:http://blog.csdn.net/xiaohao0724/article/details/54582965 Android中的动画,大概分为三种: 1、逐帧动画...
  • xiaohao0724
  • xiaohao0724
  • 2017年01月17日 14:44
  • 1500

Android动画-FrameAnimation

在开始实例讲解之前,先引用官方文档中的一段话: Frame动画是一系列图片按照一定的顺序展示的过程,和放电影的机制很相似,我们称为逐帧动画。Frame动画可以被定义在XML文件中,也可以完全编码...
  • u013467735
  • u013467735
  • 2015年09月10日 10:59
  • 253

USB电池充电规范1.2版概述及充电检测器的重要角色

http://www.eepw.com.cn/article/273341_2.htm
  • u013615357
  • u013615357
  • 2016年09月23日 09:36
  • 535

集合框架_泛型概述和基本使用

package cn.itcast_01; import java.util.ArrayList; import java.util.Iterator; /* * ArrayList存储字符串并...
  • L1585931143
  • L1585931143
  • 2016年12月24日 01:20
  • 226
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android动画(1)--概述及FrameAnimation
举报原因:
原因补充:

(最多只允许输入30个字)