1、Tween 根据指定动画开始和结束时的对象属性(位置、Alpha值(透明度)、大小、角度等)以及动画播放的时间长度生成动画;

2、Frame 指定每一帧所播放的图片和时间长度。
 
建立动画的方法:
1、在项目的res文件夹下建立动画资源xml文件,自动加入项目的资源类R中,程序再从资源类中加载动画来使用;
2、直接在程序代码中建立动画对象并设置相关属性。
 
具体方法:
1、在res文件夹下新建anim文件夹,在anim文件夹下新建xml文件,选择set类型;
2、在xml文件中,新建动画类型标签,例如<scale ></scale>等等;
3、在程序代码中加载使用(rotate.xml):
    Animation anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.rotate);
    mBtn.startAnimation(anim);
 或者在activity之间跳转时(第一个为退出动画,第二个为显示动画):
    overridePendingTransition(R.anim.fade, R.anim.hold);
 
View Animation(Tween Animation)
用XML定义的动画放在/res/anim/文件夹内,XML文件的根元素可以为<alpha>,<scale>,<translate>,<rotate>,interpolator元素或<set>(表示以上几个动画的集合,set可以嵌套)。默认情况下,所有动画是同时进行的,可以通过startOffset属性设置各个动画的开始偏移(开始时间)来达到动画顺序播放的效果。
 
 Tween 4中动画效果:
属性名称
属性值
说明
interpolator
@android:anim/accelerate_decelerate_interpolator
中间快前后慢
设置变化快慢
@android:anim/linear_interpolator
一样快
 
@android:anim/accelerate_interpolator
越来越快
 
@android:anim/decelerate_interpolator
越来越慢
startOffset
整数值
等待毫秒开始动画
duration
整数值
动画持续毫秒时间
1、Alpha:
属性名称
属性值
说明
fromAlpha
0~1
开始时透明度
toAlpha
0~1
结束时透明度

2、Scale

属性名称
属性值
说明
fromXScale
0~
开始时X方向大小比例,1以上代表放大
toXScale
0~
结束时X方向大小比例,1以上代表放大
pivotX
0~1
开始时图像的x坐标,0代表最左边,1代表最右边

3、Translate

属性名称
属性值
说明
fromXDelta
整数值
开始时x坐标的位移量
toXDelta
整数值
结束时x坐标的位移量

4、Rotate

属性名称
属性值
说明
fromDegrees
整数值
开始时角度
toDegrees
整数值
结束时角度
pivotX
0~1
开始时图像的x坐标,0代表最左边,1代表最右边

Drawable Animation(Frame Animation):
必须以<animation-list>为根元素,oneshot为true表示从头到尾只播放一次,为false表示重复播放,以<item>表示要轮换显示的图片,duration属性表示各项显示的时间。XML文件要在/res/drawable/目录下。

 
<?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/dice01" android:duration="150"></item>
<item android:drawable="@drawable/dice02" android:duration="150"></item>
<item android:drawable="@drawable/dice03" android:duration="150"></item>
<item android:drawable="@drawable/dice04" android:duration="150"></item>
<item android:drawable="@drawable/dice05" android:duration="150"></item>
<item android:drawable="@drawable/dice06" android:duration="150"></item>
</animation-list>

  

 
程序中加载:
Resources res = getResources();
AnimationDrawable animDraw = (AnimationDrawable)res.getDrawable(R.drawable.anim_drawable);
 
或者直接代码建立:
AnimationDrawable animDraw = new AnimationDrawable();
animDraw.setOneShot(false);
Resources res = getResources();
animDraw.addFrame(res.getDrawable(R.drawable.img01), 100);
animDraw.addFrame(res.getDrawable(R.drawable.img02), 100);
 
播放动画:
ImgView.setImageDrawable(animDraw);
animDraw.start();
……
animDraw.stop();

Android动画效果animation的更多相关文章

  1. Android动画效果之Property Animation进阶(属性动画)

    前言: 前面初步认识了Android的Property Animation(属性动画)Android动画效果之初识Property Animation(属性动画)(三),并且利用属性动画简单了补间动画 ...

  2. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  3. Android动画效果之Frame Animation(逐帧动画)

    前言: 上一篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画),今天来总结下Android的另外一种动画Frame ...

  4. Android动画效果之Tween Animation(补间动画)

    前言: 最近公司项目下个版本迭代里面设计了很多动画效果,在以往的项目中开发中也会经常用到动画,所以在公司下个版本迭代开始之前,抽空总结一下Android动画.今天主要总结Tween Animation ...

  5. android动画效果编程基础--Android Animation

    动画效果编程基础--Android Animation 动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 tran ...

  6. Android动画效果之自定义ViewGroup添加布局动画

    前言: 前面几篇文章介绍了补间动画.逐帧动画.属性动画,大部分都是针对View来实现的动画,那么该如何为了一个ViewGroup添加动画呢?今天结合自定义ViewGroup来学习一下布局动画.本文将通 ...

  7. Android动画效果translate、scale、alpha、rotate详解

    动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面 ...

  8. android动画效果大全

    动画类型 Android的animation由四种类型组成  Android动画模式 Animation主要有两种动画模式:一种是tweened animation(渐变动画 XML中 JavaCod ...

  9. 200多种Android动画效果的强悍框架

    admin 发布于2015-10-23 14:33 363/68015 [精品推荐]200多种Android动画效果的强悍框架,太全了,不看这个,再有动画的问题,不理你了^@^ 功能模块和技术方案 只 ...

随机推荐

  1. C++11之右值引用(二):右值引用与移动语义

    上节我们提出了右值引用,可以用来区分右值,那么这有什么用处?   问题来源   我们先看一个C++中被人诟病已久的问题: 我把某文件的内容读取到vector中,用函数如何封装? 大部分人的做法是: v ...

  2. Codeforces 463C Gargari and Bishops 题解

    题目出处: http://codeforces.com/contest/463/problem/C 感觉本题还是挺难的.须要好好总结一下. 计算对角线的公式: 1 右斜对角线,也叫主对角线的下标计算公 ...

  3. WIN10 当中装BDM驱动

      方法: 禁用第三方签名 将插件替换原有的dll   1.参考此篇文档 http://jingyan.baidu.com/article/375c8e19c2b25b25f2a229a3.html ...

  4. 如何修改myeclipse中web项目的工作路径或默认路径

    如何修改myeclipse中web项目的工作路径或默认路径 博客分类: J2EE开发技术指南   安装好myeclipse后,第一次启动myeclipse时,都会弹出会弹出Workspace Laun ...

  5. eclipse上的git命令使用浅析,搭建Maven项目

    eclipse上的git命令使用浅析 2016-03-31 14:44   关于eclipse上git的安装和建立代码仓库的文章比较多,但作为一个初识git的人更希望了解每个命令的作用. 当项目连接到 ...

  6. JAVA 自动生成对应数据库表的JPA代码工具

    http://blog.csdn.net/zheng2008hua/article/details/6274659 关键词:JPA 数据库表代码自动生成,JPA代码生成     自动生成对应数据库表的 ...

  7. html头部转码

    学习html是件比较容易的事情,但单单学html语言肯定是不够用的,所以大多数人并没有拿html作为学习核心,而是将html作为javascript.动态语言或者css学习的必经之路.于是很多人并不关 ...

  8. 【Lucene】Apache Lucene全文检索引擎架构之入门实战1

    Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供.Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻.在Java开发环境里Lucene是一个成熟的 ...

  9. Tomcat + Spring MVC + HttpClient:怎样使用PUT和PATCH方法传递数据

    在RESTful风格的API中.PUT/PATCH方法一般用于更新数据.在项目的代码中,使用的是HttpClient 4.5,是这样写的: protected JSONObject doHttpUri ...

  10. 在SDL中显示GBK点阵汉字

    大家注意到没有,RA2的中文版本使用的是GBK点阵字库,这样做有一个好处:不管玩家是用的简体还是繁体都能识别显示的文字. GBK的意思大概是“国家标准汉字扩展字符集”吧,记不清了.但它的确是个好东东, ...