安卓入门四十一 属性动画

直接更改View 的属性来实现的动画。
工作原理:在一定时间间隔内,通过不断调用set方法对值进行改变,并不断将该值赋给对象的属性,从而实现该对象在该属性上的动画效果

补间动画增强版本。补充补间动画的一些缺点。

作用对象:任意 Java 对象,不再局限于 视图View对象。

实现的动画效果:可自定义各种动画效果,不再局限于4种基本变换:平移、旋转、缩放 & 透明度。

分为ObjectAnimator和ValueAnimator。

3.1 一个简单的属性动画

先用xml的方式实现:

使用:

当然我们可以直接使用Java代码实现:

3.2 ValueAnimator与ObjectAnimator区别:

• ValueAnimator 类是先改变值,然后手动赋值 给对象的属性从而实现动画;是间接对对象属性进行操作;

• ObjectAnimator 类是先改变值,然后自动赋值 给对象的属性从而实现动画;是直接对对象属性进行操作;

3.3 监听动画的方式:

3.4 组合动画AnimatorSet:

xml的组合

常用的组合方法

• AnimatorSet.play(Animator anim) :播放当前动画。

• AnimatorSet.after(long delay) :将现有动画延迟x毫秒后执行。

• AnimatorSet.with(Animator anim) :将现有动画和传入的动画同时执行。

• AnimatorSet.after(Animator anim) :将现有动画插入到传入的动画之后执行。

• AnimatorSet.before(Animator anim) :将现有动画插入到传入的动画之前执行。

3.5 Evaluator估值器

表示计算某个时间点,动画需要更新 view 的值。

Evaluator.evaluate(float fraction, T startValue, T endValue) 是核心方法。其中,fraction 表示一个百分比。startValue 和 endValue 表示动画的起始值和结束值。通过 fraction、startValue、endValue 计算 view 对应的属性位置。

常用的就那么几个:

3.6 简单Demo

实现开始隐藏在屏幕顶部,已动画的形式慢慢返回:

属性动画设置控件的高度,实现动画关闭和打开的效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值