| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android 属性动画 -> 正文阅读 |
|
[移动开发]Android 属性动画 |
介绍属性动画本质就是动态改变View的属性。 ObjectAnimatorObjectAnimator类是将属性动画操作简化的一个类。
ObjectAnimator方法有ofInt、ofFloat、ofObject等方法,传入一个Object对象,一个对象的属性,数值变化范围(如0-100-1000),就会主动调用Object的Set方法不断去设置属性。设置之后调用更新方法(如View的重绘方法等)
JAVA引用XML文件方法
AnimatorSet动画集,关联多个Animator动画。
ValueAnimator(重点)ValueAnimator是ObjectAnimator的父类,它相当于只提供了一个数据变化的功能。需要自己去实现数据变化时,具体要执行的操作。大多数时候,我们自定义一些特殊的动画的时候,都是使用ValueAnimator类。
ps:数值更新时应当使用postInvalidateOnAnimation来优化,postInvalidateOnAnimation 依赖上一帧动画的的执行时间,因为动画的刷新是存在一个频率的,直到下一帧动画的时间才会真正执行刷新操作。 动画监听以上几种类型的动画都支持设置此监听
TypeEvaluator估值器:简单来说,就是告诉动画系统如何从初始值过渡到结束值。
可以看出来,其实就是初始值加上变化值。
应该很明显就能看出来,这就是个简单的圆半径变化的估值器。大家可以想象一下利用这个玩意儿可以实现什么样的动画啦! Interpolator插值器:它的作用概括来说就是控制动画变化的速度。可以看到TypeEvaluator的接口evaluate方法中有一个fraction参数,这个参数的值其实就是根据Interpolator计算得出的。
其中重点是getInterpolation()方法,这个方法就是最终提供给TypeEvaluator使用的fraction。
这就简单的实现倒序的变化啦!是不是很easy! ViewPropertyAnimator专门提供给View的快捷的Animator操作。拥有更好的性能,只执行一次刷新操作就能将所有动画绘制一次,而我们平常使用的Animator每一个都需要绘制一次。
ViewPropertyAnimator支持的方法还是挺多的,能满足咱们大多数的需求。而且调用真的是很方便! |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 3:36:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |