android动画

android原生动画使用总结

最近在做一个复杂的动画app,通读了android官网关于动画的文档,在此记录一下关键点
官方动画介绍

动画种类

  • 视图动画
  • 属性动画

视图动画

视图动画是能控制几种方式:
可以是 alpha、scale、translate、rotate 或包含一组(或多组)其他动画元素(甚至是嵌套的 元素)的 set元素。
alpha:淡入或淡出动画
android:fromAlpha 浮点数。起始不透明度偏移,0.0 表示透明,1.0 表示不透明。
scale:调整大小
translate:竖直或水平移动
rotate:旋转
官方介绍

属性动画

指向 ValueAnimator、ObjectAnimator 或 AnimatorSet 的资源指针。
主要应用ObjectAnimator

ValueAnimator:
属性动画的主计时引擎,它也可计算要添加动画效果的属性的值。它具有计算动画值所需的所有核心功能,同时包含每个动画的计时详情、有关动画是否重复播放的信息、用于接收更新事件的监听器以及设置待评估自定义类型的功能。为属性添加动画效果分为两个步骤:计算添加动画效果之后的值,以及对要添加动画效果的对象和属性设置这些值。ValueAnimator 不会执行第二个步骤,因此,您必须监听由 ValueAnimator 计算的值的更新情况,并使用您自己的逻辑修改要添加动画效果的对象。如需了解详情,请参阅使用 ValueAnimator 添加动画效果部分。
ObjectAnimator
ValueAnimator 的子类,用于设置目标对象和对象属性以添加动画效果。此类会在计算出动画的新值后相应地更新属性。在大多数情况下,您不妨使用 ObjectAnimator,因为它可以极大地简化对目标对象的值添加动画效果这一过程。不过,有时您需要直接使用 ValueAnimator,因为 ObjectAnimator 存在其他一些限制,例如要求目标对象具有特定的访问器方法。
AnimatorSet
此类提供一种将动画分组在一起的机制,以使它们彼此相对运行。您可以将动画设置为一起播放、按顺序播放或者在指定的延迟时间后播放。如需了解详情,请参阅使用 AnimatorSet 编排多个动画部分。

插值器

插值器指定了如何根据时间计算动画中的特定值。例如,您可以指定动画在整个动画中以线性方式播放,即动画在整个播放期间匀速移动;也可以指定动画使用非线性时间,例如动画在开始后加速并在结束前减速。
常用插值器
在这里插入图片描述
插值器使用:

ObjectAnimator animation = ObjectAnimator.ofFloat(textView, "translationX", 100f);
annimation.setInterpolator(new DecelerateInterpolator());
annimation.start();

插值器介绍

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值