android动画具体解释二 属性动画原理
property动画是一个强大的框架,它差点儿能使你动画不论什么东西。
你能够定义一个动画来改变对象的不论什么属性,不论其是否被绘制于屏幕之上。
一个属性动画在一定时间内多次改变一个属性(对象的一个字段)的值。要动画某个东西。你需指定对象的目标属性。比方位置,动画的持续时间。和改变的值的范围。
属性动画系统同意你指定下面动画属性:
· Duration: 动画持续时间。
默认是300 ms.
· Time interpolation: 你能够指定一个函数来定义怎样跟据当前的时间计算属性的值。
· 反复次数和行为: 你能够指定是否当动画结束时又一次開始以及反复的次数。你还是能够指定是否让动画倒着播放。设置动画倒着播放使得动画先正播再倒播这样反复进行。直到到达所限制的反复次数。
· 动画集: 你能够将多个动画在逻辑上放到一个组中一起播放或依次播放或按指定的延迟时间播放。
· Frame refresh delay: 你能够指定动画的帧刷新频率。默认是设置为10 ms。可是你的应用能刷新帧的实际速度终于决定于系统的忙碌程度和系统执行后台代码的速度。
· 属性动画怎样工作
首先,我们用一个样例来大体了解一下一个动画怎样工作。下图描写叙述了某个对象要动画其x属性。这代表它的横向位置。动画持续时间被设置为40 ms而且其动画距离被设置为40 像素。每10 ms移动10像素。在40ms后,动画停止。对象停在了40的位置上。
这是一个使用线性插值的对象,表示对象匀速移动。

图 1. 线性动画的样例
你也能够使用非线性插值的动画。下图演示了一个開始加速,最后减速的动画。对象还是在40秒内移动40像素,可是是非线性的。
開始加速到半路然后减速直到最后。就像下图所看到的。開始和结束时移动的距离比中间移动的距离短。

图 2. 非线性动画的样例
让我们细致看一下属性动画系统是怎样计算上图所看到的的动画的重要部分的。
下图演示了主要类之间怎样相互操作。
Figure 3. 动画是怎样计算的
中,插值函数值在 t = 10 ms时为.15 。所以些时属性的值将是.15 X (40 - 0)。或6。
Android非常多时候要用NDK开发,对于C语言不是非常熟悉的小伙伴,能够看一下本人录制的视频教程:http://edu.csdn.net/course/detail/2057
希望对你们有所帮助!
android动画具体解释二 属性动画原理的更多相关文章
- Android动画(二)-属性动画
我们在上一篇博客中,讨论了视图动画与帧动画.那么这节课则要讨论更复杂,更强大的Property animation(属性动画). 视图动画使用简单,但是功能也简单.(只有那四种功能).并且也不改变Vi ...
- 【Android - 基础】之Animator属性动画
1 概述 在3.0系统之前,Android给我们提供了逐帧动画Frame Animation和补间动画Tween Animation两种动画: 1) 逐帧动画的原理很简单,就是 ...
- 【Android - 进阶】之Animator属性动画
1.概述 在3.0系统之前,Android给我们提供了逐帧动画Frame Animation和补间动画Tween Animation两种动画: 逐帧动画的原理很简单,就是将一个完整的动画拆分成一张张单 ...
- android动画具体解释四 创建动画
使用ValueAnimator进行动画 通过指定一些int, float或color等类型的值的集合.ValueAnimator 使你能够对这些类型的值进行动画.你需通过调用ValueAnimator ...
- Android Scroll具体解释(二):OverScroller实战
作者: ztelur 联系方式:segmentfault,csdn.github 本文仅供个人学习,不用于不论什么形式商业目的,转载请注明原作者.文章来源.链接,版权归原文作者全部. 本文是andr ...
- android动画具体解释一 概述
动画和图形概述 Android 提供了大量的强大的API以应用于UI动画和绘制2D和3D图形.以下各节向你描写叙述了这些API的预览和系统能力以帮助你决定怎么才是达到你需求的最佳方法. 动画 Andr ...
- Android图文具体解释属性动画
Android中的动画分为视图动画(View Animation).属性动画(Property Animation)以及Drawable动画.从Android 3.0(API Level 11)開始. ...
- Android属性动画完全解析(中)
转载:http://blog.csdn.net/guolin_blog/article/details/43536355 大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是 ...
- Android(java)学习笔记264:Android下的属性动画高级用法(Property Animation)
1. 大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了.但是,正如上篇文章当中所说到的,属性动画对补间动画 ...
随机推荐
- 卡特兰数 3134 Circle
3134 Circle 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 在一个圆上,有2*K个不同的结点,我们 ...
- while(scanf("%d",&n)!=EOF)
scanf的返回值由后面的参数决定 scanf("%d%d", &a, &b); 如果a和b都被成功读入,那么scanf的返回值就是2 如果只有a被成功读入,返回值 ...
- 【AC自动机】【高斯消元】hdu5955 Guessing the Dice Roll
http://blog.csdn.net/viphong/article/details/53098489 我有一点不是很懂,这样算出来转移到AC自动机根节点的概率是一个远大于1的数. 按我的理解,因 ...
- 【二分】bzoj2083 [Poi2010]Intelligence test
v[x]记录了x值的出现位置序列. 对每个b中的元素,每次在v[b[i]]中二分. 因此要记录上一次二分到了a数组的哪个位置. #include<cstdio> #include<v ...
- 网络编程-tcp
一.简单的demo (1)客户端 package com.songyan.tcp; import java.io.IOException; import java.io.InputStream; im ...
- RequireJS 2.0初探
就在前天晚上RequireJS发布了一个大版本,直接从version1.0.8升级到了2.0.随后的几小时James Burke又迅速的将版本调整为2.0.1,当然其配套的打包压缩工具r.js也同时升 ...
- 全局流水ID号生成的几种方法
这个问题源自于,我想找一个分布式下的ID生成器. 这个最简单的方案是,数据库自增ID.为啥不用咧?有这么几点原因,一是,会依赖于数据库的具体实现,比如,mysql有自增,oracle没有,得用序列, ...
- win10下安装mysql5.6 zip形式步骤
1. 解压之后可以将该文件夹改名,放到合适的位置,个人建议把文件夹改名为MySQL Server 5.6,放到C:\Program Files\MySQL路径中. 2. 添加环境变量.path中添加C ...
- 【java】服务器端获取用户访问的URL/用户IP/PC还是移动端
@RequestMapping(value="/test") @ResponseBody public void test1(HttpServletRequest request, ...
- [Linux]nginx tomcat做负载均衡
之前使用nginx做过web反向代理,没有做过负载均衡,今天有个同学须要做tomcat的负载均衡,我也研究下. 一共是2个机器,一个物理机(win7)上面部署2个tomcat,使用不同的port启动. ...