安卓基础知识PropertyAnimation属性动画.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
安卓基础知识PropertyAnimation属性动画

安卓基础知识Property Animation属性动画 属性动画 属性动画系统是一个强大的框架,它允许你动画几乎所有的东西。无论是否它绘制到屏幕上或没有,你可以定义一个动画改变任何对象的属性伴随时间的推移。属性动画改变了属性(对象的一个域)的值超过指定的时间长度。对应动画的东西,如指定你想要动画的对象属性,例如一个对象在屏幕中的位置,要动画多久,和动画之间的距值。 属性动画系统可让您定义动画以下特点: Duration(时间):您可以指定动画的持续时间。默认长度是300毫秒。 Time interpolation(时间插值):定义了动画变化的频率。 Repeat count and behavior(重复计数和行为):您可以指定是否有一个动画的重复,当它到达时间结束,如何多次重复的动画。您还可以指定是否要反向播放动画。把它设置为扭转起着动画向前然后向后反复,直到重复次数达到。 Animator sets(动画设置):你能按照一定的逻辑设置来组织动画,一起播放或顺序或指定延迟。 Frame refresh delay(帧刷新延迟):您可以指定如何经常刷新你的动画帧。默认设置每10毫秒刷新,但在您的应用程序可以指定刷新帧的速度,最终取决于系统整体的状态和提供多快服务的速度依据底层的定时器。(计算机学校/) ? 属性动画工作机制 首先,让我们去如何动画一个简单的例子。图1描绘了一个假想的动画对象的x属性,代表其在屏幕上的水平位置。动画的持续时间设置为40毫秒和旅行的距离是40像素。每隔10毫秒,这是默认的帧刷新速率,物体水平移动10个像素。在40ms的结束,动画停止,对象在水平位置40结束。这是一个线性插值动画的例子,这意味着对象在一个恒定的速度移动。 图1线性动画的例子。 您还可以指定动画有一个非直线插补。图2说明了一个假想的对象,加速在开头动画,在动画结束时减速。对象仍然在40毫秒移动40个像素,但非线性。在开始的时候,这个动画加速的中间点,然后从中间点减速,直到动画结束。如图2所示,动画的开始和结束移动距离小于中间。 图2非线性动画的例子。 让我们看在属性动画系统的重要组成部分,如何计算像上面显示的动画的详细介绍。图3描述了主要类是怎么工作的。 图3。动画是如何计算的 ValueAnimator对象保持动画的实时跟踪,如动画已经运行的时间,和当前动画的属性值。 在ValueAnimator封装TimeInterpolator,它定义动画插值,和TypeEvaluator,它定义了如何计算的动画属性的值。例如,如图2,使用的TimeInterpolator将 ??是 AccelerateDecelerateInterpolator和TypeEvaluator的将会是IntEvaluator的。 启动动画,创建一个ValueAnimator,给你想要的动画开始和结束值,定义动画的持续时间。当你调用的start()动画开始。在整个动画,ValueAnimator计算经过部分的分数 介于0和1,基于动画的持续时间和多少时间已过。经过的部分代表,动画已完成的时间百分比,0表示0%和100%1的含义。例如,在图1中,在t = 10毫秒时间的比例是0.25,因为总工期为T = 40毫秒。 计算经过部分ValueAnimator时,它调用TimeInterpolator当前设置,计算插值分数。一个插值分数经过部分映射到一个新的,考虑到设置的时间内插的分数。例如,在图2中,因为动画慢慢加速,插约0.15分数,是比过去0.25部分少,在t = 10毫秒内。在图1中,插值分数始终是经过分数相同。 当插值分数计算,ValueAnimator的的调用适当的TypeEvaluator,计算你的动画属性值,基于内插的分数,起始值,结束值和动画。例如,在图2中,插值部分是在t=0.15 在10毫秒内,所以当时时间属性值为0.15 x(40 - 0),或6。 关于如何使用属性动画,系统的com.example.android.apis.animation包中的API演示示例项目提供了很多例子。(郑州北大青鸟/) How Property Animation Differs from View Animation The view animation system provides the capability to only animate View objects, so if you wanted to animate non-View objects, you have to implement your own code to do so. The view animation system is also constrained in

文档评论(0)

383947923 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档