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. 关于ionic打包出错:ionic Unable to start the daemon process

    一直试都没问题的ionic build android  今天竟然冒出了这个错误 Error:Unable to start the daemon process. This problem migh ...

  2. AI学习笔记

    人人都是产品经理,继续设计课程啦啦啦啦 ADOBE: ps, ai, fl, dw, fw, ae, pr, id   COREL: painter coreldraw   autodesk: 三维: ...

  3. Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.

    1.Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'. 原因解析: gradle ...

  4. HTML5实战与剖析之媒体元素(6、视频实例)

    HTML5中的视频标签和及其模仿视频播放器的效果在一些手机端应用比較多.由于手机端基本上废除了flash的独断.让HTML5当家做主人,所以对视频支持的比較好. 所以今天专门为大家奉上HTML5视频标 ...

  5. JS 导出Table为excel的三种可行方法

    [html] view plain copy<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...

  6. php url路由伪静态

    RewriteEngine on RewriteBase /RewriteRule ^([a-zA-Z]{1,})/([a-zA-Z]{1,})$ webim2/operator/users.php? ...

  7. asp.net core mvc视频A:笔记1.基本概念介绍

    此笔记来自视频教程 MVC本身与三层架构没有联系 使用VS2017新建一个默认的asp.net core mvc网站,认识结构及文件用途.

  8. ubuntu环境 rake aborted!

    错误: rake aborted! Gem::LoadError: You have already activated rake 10.3.2, but your Gemfile requires ...

  9. Python内置函数之sorted()

    sorted(iterable,*,key=None,reverse=False) 对可迭代对象进行排序,默认ASCII进行排序. 例子: sorted(iterable,*,key=None,rev ...

  10. Android使用SQLite数据库

    Android中得数据库 加载驱动 连接数据库 操作数据库 使用API方式进行查询 事物操作 SQLite中的批处理,加快事物执行速度的.