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. Android学习(二) 标签滚动跳过

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...

  2. icvEvalCARTHaarClassifier

    /* *icvEvalCARTHaarClassifier *作用:通过计算haar特征值,来分配非叶子节点直到出现叶子节点,最后返回输出值val.  */ float icvEvalCARTHaar ...

  3. SDUTOJ 2804求二叉树的深度

    #include<iostream> #include<stdlib.h> #include<string.h> using namespace std; char ...

  4. scrapy框架爬取豆瓣读书(1)

    1.scrapy框架 Scrapy,Python开发的一个快速.高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试 ...

  5. nginx适配移动端

    考虑到网站的在多种设备下的兼容性,有很多网站会有手机版和电脑版两个版本.访问同一个网站URL,当服务端识别出用户使用电脑访问,就打开电脑版的页面,用户如果使用手机访问,则会得到手机版的页面. ngin ...

  6. Windows2008RC2 IIS配置php执行环境

    1:下载一个php manager,安装.打开IIS管理器后,点击计算机,就能够看到右边PHPManager 静静地躺在那儿了.双击PHPManager    后我们就能够開始对PHP进行配置了. 2 ...

  7. Hibernate二次学习一----------搭建Hibernate

    目录 1. 项目结构 1.2 hibernate.cfg.xml 1.3 entity 1.4 entity.hbm.xml 2. 测试 3. 总结 © 版权声明:本文为博主原创文章,转载请注明出处 ...

  8. Unity2D实现人物三连击

    之前写过一个系列<HTML5 2D平台游戏开发>,在此过程中发现有很多知识点没有掌握,而且用纯JavaScript来开发一个游戏效率极低,因为调试与地图编辑都没有可视化的工具,开发起来费时 ...

  9. python使用mysql数据库(虫师)

    转自虫师 http://www.cnblogs.com/fnng/p/3565912.html 一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文 ...

  10. 用Python抓取漫画并制作mobi格式电子书

    想看某一部漫画,但是用手机看感觉屏幕太小,用电脑看吧有太不方面.正好有一部Kindle,决定写一个爬虫把漫画爬取下来,然后制作成 mobi 格式的电子书放到kindle里面看. 一.编写爬虫程序 用C ...