【移动应用开发技术】Android-之动画2_第1页
【移动应用开发技术】Android-之动画2_第2页
【移动应用开发技术】Android-之动画2_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【移动应用开发技术】Android_之动画2

现在隆重介绍Android动画中无所不能的属性动画登场,先看看官方文档对属性动画的介绍:Thepropertyanimationsystemisarobustframeworkthatallowsyoutoanimatealmostanything.Youcandefineananimationtochangeanyobjectpropertyovertime,regardlessofwhetheritdrawstothescreenornot.Apropertyanimationchangesaproperty's(afieldinanobject)valueoveraspecifiedlengthoftime.Toanimatesomething,youspecifytheobjectpropertythatyouwanttoanimate,suchasanobject'spositiononthescreen,howlongyouwanttoanimateitfor,andwhatvaluesyouwanttoanimatebetween.是不是很牛逼。。。确实很牛逼,翻译过来的意思大概是(英语比较挫,翻译不对的大家指正):属性动画是一个能为所有事情添加动画的非常健壮的框架,可以通过控件的任意属性,实现控件对话(算了,翻译不下去了),下面开始搞起。首先说明一点,动画原理什么滴,这里就不多讲了,网上有很多,大家可以去官网开说明:/guide/topics/graphics/prop-animation.html#value-animator,我就只讲讲如何使用,使用最重要嘛。如果想看中文的话,请看AngelDevi的一篇文章,/angeldevil/archive/2011/12/02/2271096.html,根据这篇文章你应该了解属性动画是如何工作的。(1)写一个属性动画需要准备哪些工作?Android属性动画开始需要准备

TimeInterpolator、TypeEvaluator。TimeInterpolator是用来定义插值器的,下表列出Android的几种插值器,可以根据自己的需求,选择不同的插值器。更加详尽的阐述请见/banxi/blog/135633TypeEvaluator:ValueAnimator根据动画已进行的时间跟动画总时间(duration)的比计算出一个时间因子(0~1),然后根据TimeInterpolator计算出另一个因子,最后TypeAnimator通过这个因子计算出属性值,如上例中10ms时:首先计算出时间因子,即经过的时间百分比:t=10ms/40ms=0.25经插值计算(inteplator)后的插值因子:大约为0.15,上述例子中用了AccelerateDecelerateInterpolator,计算公式为(input即为时间因子):(Math.cos((input

+

1)

*

Math.PI)

/

2.0f)

+

0.5f;最后根据TypeEvaluator计算出在10ms时的属性值:0.15*(40-0)=6pixel。上例中TypeEvaluator为FloatEvaluator,计算方法为:public

Float

evaluate(float

fraction,

Number

startValue,

Number

endValue)

{

float

startFloat

=

startValue.floatValue();

return

startFloat

+

fraction

*

(endValue.floatValue()

-

startFloat);

}参数分别为上一步的插值因子,开始值与结束值。大家可能对fraction理解有偏差,按照字面意思fraction是片段的意思,这个片段并不是时间片段,而是相当于任务完成的百分比。(2)开始做一个属

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论