android支持三种类型的动画:

·属性动画  一种补间动画,通过在目标对象的任何属性的两个值之间应用赠了变化,可以生成一种动画效果。这种动画可以用来生成各种效果,例如:改变视图的颜色、透明条、淡入淡出、改变字体大小或者增加字符的生命力。

·视图动画  一种补间动画,可以用来旋转、缩放和拉伸一个视图。

·帧动画    逐帧的格子动画,来显示一系列的drawable图片。

属性动画示例:1秒内以增量的方式在0和1之间调用目标对象的setAlpha方法,从而改变目标对象的透明度。

xml文件存放位置res/animator 文件夹下

<?xml version="1.0" encoding="utf-8"?>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:propertyName="alpha"
android:duration="1000"
android:valueFrom="0.0"
android:valueTo="1.0"> </objectAnimator>

调用方法:

   private ImageView img;

   img=(ImageView)this.findViewById(R.id.imageView1);
Animator animator=AnimatorInflater.loadAnimator(this, R.animator.alpha);
animator.setTarget(img);
animator.start();

视图动画示例:目标在旋转360°的同时收缩并淡出。

xml文件存放位置 res/anim

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator" > <rotate
android:duration="1000"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="500"
android:toDegrees="360" /> <scale
android:duration="500"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="500"
android:toXScale="0.0"
android:toYScale="0.0" /> <alpha
android:duration="500"
android:fromAlpha="1.0"
android:startOffset="500"
android:toAlpha="0.0" /> </set>

调用方法:

    Animation anim=AnimationUtils.loadAnimation(this, R.anim.amin_scoal);
img.setAnimation(anim);
img.animate().start();
动画类型属性
动画类型 效果 属性 有效值
Alpha 淡入/淡出 fromAlpha/toAlpha 0~1的浮点数
Scale 缩放 fromXScale/toXScale 0~1的浮点数
fromYScale/toYScale 0~1的浮点数
pivotX/pivotY 表示图像的宽/高比的字符串,从0%~100%
translate 移动 fromX/toX 0~1的浮点数
fromY/toY 0~1的浮点数
Rotate 旋转 fromDegrees/toDegrees 0~360的浮点数
pivotX/pivotY 表示图像的宽/高比的字符串,从0%~100%

·duration 动画的持续时间,已毫秒为单位。

·startOffset 动画开始之前的延迟,毫秒为单位

·fillBeforetrue 在动画开始之前动画变形。

·fillAftertrue 在动画开始只有变形

·interpolator 设置效果随时间改变的速度

<scale>标签为缩放节点
android:fromXscale="1.0" 表示开始时X轴缩放比例为 1.0 (原图大小 * 1.0 为原图大小)
android:toXscale="0.0"表示结束时X轴缩放比例为0.0(原图大小 *0.0 为缩小到看不见)
android:fromYscale="1.0" 表示开始时Y轴缩放比例为 1.0 (原图大小 * 1.0 为原图大小)
android:toYscale="0.0"表示结束时Y轴缩放比例为0.0(原图大小 *0.0 为缩小的看不到了)
android:pivotX="50%" X轴缩放的位置为中心点
android:pivotY="50%" Y轴缩放的位置为中心点
android:duration="2000" 动画播放时间 这里是2000毫秒也就是2秒

逐帧动画示例:循环显示一系列位图资源,每个资源会持续半秒。

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/test1" android:duration="500"></item>
<item android:drawable="@drawable/test2" android:duration="500"></item>
<item android:drawable="@drawable/test3" android:duration="500"></item>
</animation-list>

调用方法:

ImageView view=new ImageView(this);

view.setBackgroundResource(R.drawable.animtion_d);

AnimationDrawable anim=(AnimationDrawable)view.getBackground();

anim.start();

学习笔记-- android动画简述的更多相关文章

  1. Android动画学习笔记-Android Animation

    Android动画学习笔记-Android Animation   3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...

  2. Mina框架的学习笔记——Android客户端的实现

    Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络 ...

  3. Android学习笔记-tween动画之java实现

    Android动画分为Tween动画和Frame动画,近期学习了,体tween动画,现在讲学习的心得以及相关知识介绍如下. Tween又称为补间动画,可以把对象进行缩小.放大.旋转和渐变等操作.   ...

  4. 学习笔记-----Android的View绘制过程

    边看源码边参考别人的博客等,做一下学习笔记. 要了解View的绘制,首先得知道View树的结构:(可以参考http://blog.csdn.net/qinjuning/article/details/ ...

  5. iOS学习笔记10-UIView动画

    上次学习了iOS学习笔记09-核心动画CoreAnimation,这次继续学习动画,上次使用的CoreAnimation很多人感觉使用起来很繁琐,有没有更加方便的动画效果实现呢?答案是有的,那就是UI ...

  6. Android动画学习(一)——Android动画系统框架简介

    2015-11-09补充:Drawable Animation极有可能是Frame Animation 这几天在找工作,面试的时候被问到了Android动画,之前完全没接触过这部分,直接给懵了,当然其 ...

  7. webgl学习笔记四-动画

    写在前面 建议先阅读下前面我的三篇文章. webgl学习笔记一-绘图单点 webgl学习笔记二-绘图多点 webgl学习笔记三-平移旋转缩放   下面我们将讲解下如何让一个正方形动起来~不断擦除和重绘 ...

  8. Android学习笔记_55_Tween动画 (渐变、缩放、位移、旋转)

    Android 平台提供了两类动画. 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转.平移.放缩和渐变).第二类就是 Frame动画,即顺序的播放事先做好的图像,与gi ...

  9. Android学习笔记_39_tween动画的实现(Animation和Frame)

    一.Animation动画的实现及特点: 1.Tween动画,通过对 View 的内容进行一系列的图形变换 (包括平移.缩放.旋转.改变透明度)来实现动画效果.   动画效果的定义可以采用XML来做也 ...

随机推荐

  1. hdoj 5124lines

    题意:给你n条线段,求被最多的线段覆盖的点被覆盖的次数 解法:我们可以将一条线段[xi,yi]分为两个端点xi和(yi)+1,在xi时该点会新加入一条线段,同样的,在(yi)+1时该点会减少一条线段, ...

  2. java动手动脑和课后实验型问题

    1.以下代码的输出结果是什么?为什么会有这个结果? int[] a = { 5, 7, 20 }; System.out.println("a数组中的元素:"); // 循环输出a ...

  3. HDU 4946 Area of Mushroom(2014 Multi-University Training Contest 8)

    思路: 只有速度最大才有可能为1,速度不是最大肯定为0,那么就是 只需要操作那些速度最大的点,这些点求一个凸包,判断一下是不是在凸包边上即可. 有几个需要注意的地方: 1.最大速度如果为0   那么肯 ...

  4. Android studio 项目的layout的文件打开,preview 视图无法显示,提示“no sdk found...”可能原因?

    1.安装android studio后启动,引导新的下载的sdk文件夹,不要默认在c:\users\你的用户名\appdata...下的sdk文件夹. 2.如果已经默认的,重新在settings/pr ...

  5. UILabel多种字体

    UILabel *label = [[UILabel alloc] init]; label.text = @"UILabel多种字体"; UIFont *font = [UIFo ...

  6. Redis概述

    1.       Redis是使用内存存储(in-momory)的非关系型数据. 2.       Redis的数据存储选项共有5种:字符串.列表.集合.散列表.有序集合. 3.       Redi ...

  7. CSS字体属性大全

    文章转自:http://www.10wy.net/Article/CSS/CSS_list_8.html查看更多更专业性的文章请到:网页设计网 CSS字体属性 字体名称属性(font-family) ...

  8. 由cobertura插件生成测试覆盖率报告

    由于cobertura已经集成到maven中,所以可以很方便的直接调用此插件生成报告: 直接运行命令:mvn cobertura:cobertura 就可以直接生成测试报告了. 下面是截图:

  9. 【转】tomcat7性能调优

    注意:调优tomcat需要了解使用的tomcat是什么版本,随着tomcat版本发展有新参数引入,同时有旧参数废弃.本文档以tomcat7为例进行调优 一. 线程池(Thread Pool)优化 编辑 ...

  10. JS数组中every(),filter(),forEach(),map(),some()方法学习笔记!

    ES5中定义了五种数组的迭代方法:every(),filter(),forEach(),map(),some(). 每个方法都接受两个参数:要在每一项运行的函数(必选)和运行该函数的作用域的对象-影响 ...