android 属性动画

一直再追郭霖的博客和imooc上的一些新的视频,最近有讲到属性动画。

以下内容为博客学习以及imooc上视频资料的学习笔记:

在3.0之前比较常见的动画为tween动画和frame动画:

tween动画:就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变);

frame动画:即顺序的播放事先做好的图像,与gif图片原理类似,也类似电影效果。

在3.0以后除了支持以上两种动画以外,还增加了一个新的动画:

property animation----属性动画。

传统的animation动画,旧的animation只适合显示效果,不适合交互动画

TranslateAnimation 位移动画

虽然Imageview可以移动,但是移动后的imageview无法单击,而在旧的位置可以单击,这就是旧的animation的效果。

ofFloat第一个参数为要操控的控件,第二个为要操作的属性,第三个以及第四个为操作的范围。

setDuration为操作的时间长度。

属性动画在移动后的控件位置点击可以toast.

实现控件旋转360度。

多个属性动画的使用:

按照顺序进行动画播放:

动画监听事件:

另外一种添加事件的监听:

有层次的动画显示风格:

setStartDelay()设置延迟时间的属性

插值器:

setInterpolator(new BounceInterpolator());



ValueAnimator

五秒内button上的内容从1到100:

通过对数值的处理进行动画效果的处理



常用属性:

translationX ,translationY----偏移距离

rotation , rotationX ,rotationY,----水平或者竖直方向旋转动画

scaleX,scaleY----X方向,Y方向的缩放动画

X,Y,移动到具体那个坐标

alpha 透明度

常用的方法和类:

ValueAnimator----数值发生器

ObjectAnimator----ValueAnimator子类

AnimatorUpdateListener---动画监听事件

AnimatorListenerAdapter

PropertyValuesHolder

AnimatorSet----动画集合,即可以同时对一个对象应用几个动画,这些动画可以同时播放也可以对不同动画设置不同开始偏移

TypeEvaluators----根据属性的开始、结束值与TimeInterpolation计算出的因子计算出当前时间的属性值

Interplators

nterplators图解:

AccelerateInterpolator          加速,开始时慢中间加速

DecelerateInterpolator         减速,开始时快然后减速

AccelerateDecelerateInterolator    先加速后减速,开始结束时慢,中间加速

AnticipateInterpolator        反向 ,先向相反方向改变一段再加速播放

AnticipateOvershootInterpolator    反向加回弹,先向相反方向改变,再加速播放,会超出目的值然后缓慢移动   至目的值

BounceInterpolator         跳跃,快到目的值时值会跳跃,如目的值100,后面的值可能依次为85,77,70,80,90,100

CycleIinterpolator         循环,动画循环一定次数,值的改变为一正弦函数:Math.sin(2 * mCycles * Math.PI * input)

LinearInterpolator         线性,线性均匀改变

OvershottInterpolator        回弹,最后超出目的值然后缓慢改变到目的值

TimeInterpolator           一个接口,允许你自定义interpolator,以上几个都是实现了这个接口

来源: <http://www.cnblogs.com/angeldevil/archive/2011/12/02/2271096.html>

相关进阶资料:

http://www.cnblogs.com/angeldevil/archive/2011/12/02/2271096.html

AnimatorSeth和AnimatorListener:http://blog.csdn.net/new_abc/article/details/40143091

使用ObjectAnimator设置动画http://blog.csdn.net/new_abc/article/details/40106569

使用ValueAnimator设置动画http://blog.csdn.net/new_abc/article/details/40072499

时间: 2024-10-12 08:07:03

android 属性动画的相关文章

【转】android 属性动画之 ObjectAnimator

原文网址:http://blog.csdn.net/feiduclear_up/article/details/39255083 前面一篇博客讲解了 android 简单动画之 animtion,这里来讲解一下android 3.0之后添加的一些动画   animator 中的 ObjectAnimator . 属性动画概念: 所谓属性动画:改变一切能改变的对象的属性值,不同于补间动画:只能改变 alpha,scale,rotate,translate.听着有点抽象,举例子说明 补间动画能实现的

Android属性动画初步学习笔记

近期学习Android属性动画和VetcorDrawable实现属性动画,以此记录一下学习笔记. 首先是属性动画,小白没截过动态图,方三张静态图吧       效果是点击红色图片,7个选项以属性动画的方式弹出并旋转,最后成一个1/4圆弧排列,再次点击则收回到红色原点下. 布局文件很简单,就是一个RelativeLayout下八个ImageView: 1 <?xml version="1.0" encoding="utf-8"?> 2 <Linear

Android 属性动画(Property Animation) 完全解析 (上)

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38067475 1.概述 Android提供了几种动画类型:View Animation .Drawable Animation .Property Animation .View Animation相当简单,不过只能支持简单的缩放.平移.旋转.透明度基本的动画,且有一定的局限性.比如:你希望View有一个颜色的切换动画:你希望可以使用3D旋转动画:你希望当动画停止时,View的

Android属性动画完全解析

Android属性动画完全解析(上),初识属性动画的基本用法 Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法 Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法

Android属性动画之ValueAnimation

ValueAnimation是ObjectAnimation类的父类,经过前几天的介绍,相信大家对ObjectAnimation有了 一定的认识,今天就为大家最后介绍一下ValueAnimation,ValueAnimation谷歌提供了更好的过程控制,现在就以一个类计时的小动画为大家简单介绍一下: 应用的布局文件非常简单,只有一个Button按钮,就不再赘述了.下面重点介绍一下具体的实现: public void init() { button = (Button) findViewById(

Android 属性动画(Property Animation) 完全解析 (下)

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38092093 上一篇Android 属性动画(Property Animation) 完全解析 (上)已经基本展示了属性动画的核心用法: ObjectAnimator实现动画,ValueAnimator实现动画,AnimatorSet的使用等~ 当然了属性动画还有一部分的知识点,也能做出很不错的效果,将在本篇博客为您展示~ 1.如何使用xml文件来创建属性动画 大家肯定都清楚,

Android属性动画之ValueAnimator的介绍

之前两篇博客,介绍的是ObjectAnimator作用与某一个控件的某一个属性.但我们的ValueAnimator它本身并不会作用与任何一个属性,它本身也不会提供任何一种动画.它简单的来说,就是一个数值发生器,它可以产生你想要的各种数值.其实,在Android属性动画中,如何产生每一步具体实现动画效果,都是通过ValueAnimator计算出来的. 比如我们现在要实现一个从0~100的位移动画,ValueAnimator会根据动画持续的总时间产生一个0~1时间因子,有了这样一个时间因子.通过相应

Android属性动画ValueAnimator源码简单分析

Android开发的过程中经常要用到属性动画,经常都是网上扒下来看下怎么用,但是经常不知道为什么要这么用,手一哆嗦一不小心就点到源码里面去了.我们就来看看Android属性动画ValueAnimator类源码的简单实现,从而对ValueAnimator类有个大概的了解. 在Android开发过程中做动画效果的时候用到ValueAnimator的时候最简单的方法我们是这么干的 // ValueAnimator ValueAnimator valueAnimator = ValueAnimator.

Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/44171115 大家好,欢迎继续回到Android属性动画完全解析.在上一篇文章当中我们学习了属性动画的一些进阶技巧,包括ValueAnimator和ObjectAnimator的高级用法,那么除了这些之外,当然还有一些其它的高级技巧在等着我们学习,因此本篇文章就对整个属性动画完全解析系列收个尾,来学习一下剩下的非常重要的高级技巧. 另外,本篇文章中使用的代码是建立在上篇文章基础之

Android属性动画完全解析(上)

Android属性动画完全解析(上) 转载:http://blog.csdn.net/guolin_blog/article/details/43536355 在手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系统在一开始的时候就给我们提供了两种实现动画效果的方式,逐帧动画(frame-by-frame animation)和补间动画(tweened animation).逐帧动画的工作原理很简单,其实就是将一个完整的动画拆分成一张张单独的图片,然后再将它们连贯起来进行播放,类似