Android Animation、ObjectAnimator与ValueAnimator实现视图动画和属性动画

本文详细介绍了Android视图动画,包括透明度、旋转、缩放和位移,并探讨了动画集合和不间断旋转的实现。接着深入讲解属性动画,重点阐述了ObjectAnimator的用法,如何通过PropertyValuesHolder和AnimatorSet实现复杂动画,以及动画监听事件的应用。文章提供示例代码,帮助理解Android动画系统的灵活性和强大功能。
摘要由CSDN通过智能技术生成

一、视图动画

视图动画比较简单,它提供了AlphaAnimation、RotateAnimation、TranslateAnimation、ScaleAnimation四种动画方式。

视图动画一个非常大的缺陷就是不具有交互性,当一个View发生视图动画后,其相应事件的位置依然在显示动画前的位置。但是优点也非常明显,即效率比较高且使用方便。

1、透明度动画
AlphaAnimation aa = new AlphaAnimation(0f, 1f);
aa.setDuration(1000);
view.startAnimation(aa);
2、旋转动画
RotateAnimation ra = new RotateAnimation(0f, 359f//旋转的角度,负值代表逆时针的
                , Animation.RELATIVE_TO_SELF, 0.5f//自己的X中心
                , Animation.RELATIVE_TO_SELF, 0.5f);//自己的Y中心
ra.setDuration(1000);
view.startAnimation(ra);
3、缩放动画
ScaleAnimation sa = new ScaleAnimation(0f, 2f, 0f, 2f//0倍到2倍
                , Animation.RELATIVE_TO_SELF, 0.5f//中心缩放
                , Animation.RELATIVE_TO_SELF, 0.5f);
sa.setDuration(1000);
view.startAnimation(sa);
4、位移动画
TranslateAnimation ta = new TranslateAnimation(0f, 200f, 0f, 400f);
ta.setDuration(1000);
view.startAnimation(ta);



效果展示
视图动画


5、动画集合
AnimationSet as = new AnimationSet(true);
as.setDuration(1000);
//从完全透明到完全不透明
AlphaAnimation aa = new AlphaAnimat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值