博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android属性动画
阅读量:5021 次
发布时间:2019-06-12

本文共 1057 字,大约阅读时间需要 3 分钟。

从http://www.android-doc.com/guide/topics/graphics/prop-animation.html翻译所得

PropertyAnimation是一套可靠的动画框架,使用它几乎可以显示关于某个对象任何属性方面的动画,而不管这个属性的变化是否会反应到屏幕上。

PropertyAnimation主要设置的参数有:

  1. 动画持续时间,默认300ms
  2. 基于时间的差值算法:这是动画的关键。插值是以时间为轴来计算你要展示的属性变化的。比如你要使一个按钮从位置0移动到位置100,且每10ms刷新一次,显示时间为0.5s,那么整个动画就需要50帧,每一帧的位置变动量为(100 - 0)/ 50 = 2.当然,这是匀速插值动画,也可以指定其他差值算法,比如先加速后减速,那么刚开始的那几帧可能就没有对应的匀速差值帧的变动量多。
  3. 重复次数以及显示行为
  4. 动画集合,比如某个动画集合的所有动画一起显示
  5. 帧刷新频率,默认10ms

PropertyAnimation和ViewAnimation区别:

ViewAnimation只能显示View对象,要显示非View对象则需要自己写代码实现。而且ViewAnimation只能针对View的比例、位姿等方面的动画显示,而对于比如背景颜色等则无能为力;

ViewAnimation另一个不足的地方在于:它仅仅是改变了View对象的显示位置,而不是改变了该View真实的情况。比如你可以利用ViewAnimation使用一个Button从屏幕左边移动到右边,但却只有在Button真正定义的位置,比如屏幕左边,才会产生点击效果,而不是当Button显示在哪里,就在哪里可以响应点击事件。

PropertyAnimation就没有这些限制,它可以显示View和非View对象,而且是actual的改变该对象。从系统层面上来说,PropertyAnimation比ViewAnimation更加可靠。也可以基于更多的方面来产生动画,比如颜色,差值,而不是仅仅是位置,甚至可以同步多个动画。

但是ViewAnimation比PropertyAnimation安装(setup,可以理解为启动/准备时间)耗时更少,且需要编写的代码更少。如果ViewAnimation可以满足你的需求,则可以使用ViewAnimation。当然,同时使用两套动画系统也是可以的。

 

转载于:https://www.cnblogs.com/willhua/p/5143739.html

你可能感兴趣的文章
文件操作
查看>>
Python:GUI之tkinter学习笔记3事件绑定(转载自https://www.cnblogs.com/progor/p/8505599.html)...
查看>>
jquery基本选择器
查看>>
hdu 1010 dfs搜索
查看>>
搭建wamp环境,数据库基础知识
查看>>
android中DatePicker和TimePicker的使用
查看>>
SpringMVC源码剖析(四)- DispatcherServlet请求转发的实现
查看>>
Android中获取应用程序(包)的大小-----PackageManager的使用(二)
查看>>
Codeforces Gym 100513M M. Variable Shadowing 暴力
查看>>
浅谈 Mybatis中的 ${ } 和 #{ }的区别
查看>>
CNN 笔记
查看>>
版本更新
查看>>
SQL 单引号转义
查看>>
start
查看>>
实现手机扫描二维码页面登录,类似web微信-第三篇,手机客户端
查看>>
PHP socket客户端长连接
查看>>
7、shell函数
查看>>
【转】Apache Jmeter发送post请求
查看>>
Nginx 基本 安装..
查看>>
【凸优化】保留凸性的几个方式(交集、仿射变换、投影、线性分式变换)
查看>>