Android动画分类和区别

Android包含三种动画:View Animation、 Drawable Animation、Property Animation(Android3.0新引入)。

View Animation

基于View的渐变动画,她只改变了View的绘制效果,而实际属性值未变。比如动画移动一个按钮位置,但按钮点击的实际位置仍未改变。在代码中定义动画,可以参考AnimationSet类和Animation的子类;而如果使用XML,可以在res/anim/文件夹中定义XML文件。

Drawable Animation:

加载一系列Drawable资源来创建动画,这种传统动画某种程度上就是创建不同图片序列,顺序播放,就像电影胶片。在代码中定义动画帧,使用AnimationDrawable类;XML文件能更简单的组成动画帧,在res/drawable文件夹,使用<animation-list>采用<item>来定义不同的帧。感觉只能设置的属性是动画间隔时间。

Property Animation:

动画的对象除了传统的View对象,还可以是Object对象,动画之后,Object对象的属性值被实实在在的改变了。Property animation能够通过改变View对象的实际属性来实现View动画。任何时候View属性的改变,View能自动调用invalidate()来试试刷新。

View实施Property animation时的新属性:

  • translationX 、translationY: 左上坐标的改变值
  • rotation、 rotationX、 rotationY
  • scaleX 、 scaleY: 横纵向的缩放比例,如:1.2f、0.8f
  • pivotX 、 pivotY: 缩放和旋转时横纵向中心点,默认情况下是View的中心,如果想以View的左上坐标为中心进行旋转或者缩放,应该将其值都设置为0
  • x 、 y:
  • alpha:透明度. 默认为1,0代表全透明,即不可见

实例:ObjectAnimator.ofFloat(myView, "rotation", 0f, 270f);

这些属性能与Layout文件中的View属性相对应,不同的是:pivotX 和 pivotY对应android:transformPivotX 和android:transformPivotX;另外scaleX 和 scaleY:缩放都是基于原来大小,比如扩大了两倍之后,想缩小两倍,即还原为本身大小,如果采用ViewPropertyAnimator代码中应该如下:

  • myView.animate().scaleX(2.0f).scaleY(2.0f)//扩大两倍
  • myView.animate().scaleX(1.0f).scaleY(1.0f)//还原

从 Android 3.1开始, Property animation的 XML文件定义位于 res/animator/ 位于 (而不是 res/anim/)。Property animation类中对应的XML标签如下:

  • ValueAnimator - <animator>
  • ObjectAnimator - <objectAnimator>
  • AnimatorSet - <set>
时间: 2024-11-07 22:06:25

Android动画分类和区别的相关文章

ANDROID动画分类

Android 平台提供了一套完整的动画框架,在Android3.0之前有两种动画Tween Animation(补间动画)和Frame Animation(帧动画), 对应SDK中的View Animation和Drawable Animation. 在Android3.0之后,新增了一种动画Property Animation(属性动画).   一: 补间动画(res/anim/ ) Tween Animation可以对view实现一系列的转换,给出两个关键帧,通过一些算法将给定属性值在给定

Android 动画分类

一:Tween Animation 动画类型 下面先来看看Android提供的动画类型.Android的animation由四种类型组成 在XML文件中: alpha        渐变透明度动画效果 scale        渐变尺寸伸缩动画效果 translate  画面转换位置移动动画效果 rotate      画面转移旋转动画效果 二:Frame Animation Frame Animation是顺序播放事先做好的图像,跟电影类似. Android提供了另外一个类AnimationD

Android动画学习(缓动动画与属性动画的区别)

前言: 在 Android动画学习(概述)中,如果你看过这篇帖子,你应该会对缓动动画和属性动画之间的区别产生疑问,因为在它们的应用中,你会感觉这两种动画有着一些相似的地方,为此,我打算把这两种动画之间的区别做一下说明 区别: 在这里先附上官方文档对于这两种动画的区别说明(我所说的缓动动画对应在下文中的英文为:View Animation,属性动画对应在下文中的英文为:Property Animation): How Property Animation Differs from View Ani

android动画-动画分类及代码示例

原来一直对动画一知半解,只知道按照网上的方法会用就行了,但是自己写起来感觉确实有点费劲,今天终于研究了代码实现,一下子感觉清晰多了.先把总结如下,代码中有详细的注释. 动画分类 1.Peoperty Animation 这个动画是Android3.0之后推出的目前用处不大. 2.View Animation 这类动画也叫tween animation 主要分为 渐变动画(AlphaAnimation)旋转动画(RotateAnimation) 缩放动画(ScaleAnimation)位移动画(T

Android 动画详解

这次主要就介绍android动画,android动画目前分为三种形式,Tween Animation 这个只能应用于view对象上面的,Drawable Animation这个是帧动画,就是类似我们有一些列的图片依次播放图片时出现的动画,Property Animation 这个是属性动画,这也是在android3.0之后引进的动画,在手机的版本上是android4.0就可以使用这个动画,下面我们主要就是针对这三种情况进行介绍. Tween Animation 这个动画在Property Ani

Android动画深入分析

动画分类 Android动画可以分3种:View动画,帧动画和属性动画:属性动画为API11的新特性,在低版本是无法直接使用属性动画的,但可以用nineoldAndroids来实现(但是本质还是viiew动画).学习本篇内容主要掌握以下知识: 1,View动画以及自定义View动画.2,View动画的一些特殊使用场景.3,对属性动画做了一个全面的介绍.4,使用动画的一些注意事项. view动画 View动画的四种变换效果对应着Animation的四个子类:TranslateAnimation(平

Android动画知识汇总

本文是对Android动画的汇总.关于Android的动画包括 3.0之前的View Animation,3.0之后的 Property Animator 以及5.0新增的(Touch feedback(触摸反馈)Reveal effect(揭露效果)Activity transitions(Activity转换效果)Curved motion(曲线运动)View state changes (视图状态改变)Animate Vector Drawables(可绘矢量动画))6种动画. 几种动画的

Android动画总结系列(6)——矢量图形与矢量动画

按照我一开始的打算,上面一篇文章应该是"Android动画总结系列(5)--属性动画源码分析",不过属性动画源码分析写起来还比较复杂,因为某些原因,我把精力投入到矢量动画这块了,第5篇估计会在后面一两周写完.本篇文章,我写的是Android5.0引入的新动画效果--矢量动画,初步打算后面还会加一篇源码分析. 一.概述 1.1 简述 Android应用的不断发展带来了安装包过大的尴尬,而Android之前一直都不支持矢量图形,是引起尴尬的一个重要原因.其实Android绘制界面时也是通过

Android动画的两种使用方式。

android 动画的分类就不说了,主要说一下动画的两种使用方法:1.通过代码生成并使用动画 (不利于重复使用) 2.通过xml文件生成并使用动画(更方便,重用性高). 1.通过代码生成动画 ? 1 2 3 4 5 //初始化 Animation scaleAnimation = new ScaleAnimation(0.1f, 1.0f,0.1f,1.0f); //设置动画时间 scaleAnimation.setDuration(500); this.startAnimation(scale