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. Nginx探索三

    这次探索一下http 请求 request 这节我们讲request,在nginx中我们指的是http请求,详细到nginx中的数据结构是ngx_http_request_t. ngx_http_re ...

  2. URAL 1984. Dummy Guy(数学啊)

    题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1984 1984. Dummy Guy Time limit: 0.5 second Me ...

  3. javascript继承—prototype最优两种继承(空函数和循环拷贝)

    一.利用空函数实现继承 参考了文章javascript继承-prototype属性介绍(2) 中叶小钗的评论,对这篇文章中的方案二利用一个空函数进行修改,可以解决创建子类对象时,父类实例化的过程中特权 ...

  4. SQL:OUTER JOIN使用方法具体解释

    SQL--JOIN使用方法 外联接. 外联接能够是左向外联接.右向外联接或完整外部联接.  在 FROM 子句中指定外联接时,能够由下列几组keyword中的一组指定: LEFT JOIN 或 LEF ...

  5. 将Latex tex文档转换成 word文档(下)

    在上篇中我们介绍了一款将 tex 文件转换成 word 文件的工具 借用万能的搜索引擎,在 Google 上找到了更好的工具 它就是Pandoc 介绍 Pandoc 是由 John McaFarlan ...

  6. Heterogeneity Wins

     Heterogeneity Wins Edward Garson THE nATuRAl EvoluTion oF CoMpuTER TECHnology has brought about im ...

  7. ORACLE 12C R2 RAC 安装配置指南

    >> from zhuhaiqing.info ASM磁盘空间最低要求 求12C R2相比前一版本,OCR的磁盘占用需求有了明显增长.为了方便操作,设置如下:External: 1个卷x4 ...

  8. junit测试时报No runnable methods错误的解决方法

    1.因为你@Test时import的是@org.testng.annotations.Test所以会报错 解决方法:改为import org.junit.Test;就可以了

  9. hibernate双向一对多映射

    双向多对一 :Customer类------------>一的一端   Order类----------->多的一端 Customer类:(省略set().get()和构造方法) priv ...

  10. 配置LANMP环境(9)-- 安装Git与vsftp

    一.安装Git 检查是否已经安装 git --version 安装 yum -y install git 二.安装vsftp 检查是否已经安装 yum list installed vsftpd 安装 ...