标签:
在开发中属性动画是很常用的功能,下面我把属性动画的基本用法记录一下,供他人学习,也逐渐积累自己的知识。
单个动画效果:
1 //创建动画对象,后面的参数依次为:动画效果的目标组件,需要改变的该组建的属性(必须有对应的get和set方法就可以),后面三个参数写变化过程对应数值。 2 3 ObjectAnimator animator= ObjectAnimator.ofFloat(textView, "TextSize", 15, 50, 15); 4 5 //动画过程所用时间,会按这个世界自动平滑执行 6 7 animator.setDuration(6000); 8 9 //动画开始 10 11 animator.start();
组合动画效果:
1 //after(Animator anim) 将现有动画插入到传入的动画之后执行 2 3 //after(long delay) 将现有动画延迟指定毫秒后执行 4 5 //before(Animator anim) 将现有动画插入到传入的动画之前执行 6 7 //with(Animator anim) 将现有动画和传入的动画同时执行 8 9 //创建动画对象,后面的参数依次为:动画效果的目标组件,需要改变的该组建的属性(必须有对应的get和set方法就可以),后面三个参数写变化过程对应数值。 10 11 ObjectAnimator animator1= ObjectAnimator.ofFloat(textView, "TextSize", 15, 50, 15); 12 13 //这里每次先获取目标View的角度 14 15 float init = textView.getRotation(); 16 17 //旋转,道理同上 18 19 ObjectAnimator animator2 = ObjectAnimator.ofFloat(textView,"rotation", init,init+180f); 20 21 //平移,道理同上 22 23 ObjectAnimator animator3 = ObjectAnimator.ofFloat(textView,"TranslationX",curTranslationX,-500f,curTranslationX); 24 25 //设置动画组合的类 26 27 AnimatorSet animatorSet=new AnimatorSet(); 28 29 //设置3个动画如何组合搭配 30 31 animatorSet.play(animator2).with(animator1).after(animator3); 32 33 //动画过程所用时间,会按这个世界自动平滑执行 34 35 animatorSet.setDuration(6000); 36 37 //动画开始 38 39 animatorSet.start();
为动画增加监听:
1 //这里是为动画添加的监听,具体实现哪个方法根据需求选择即可,例如:动画执行完毕、动画执行开始、动画执行取消、动画执行重复动作等。 2 3 animatorSet.addListener(new AnimatorListenerAdapter() { 4 5 //这里根据需要实现具体的想要执行的内容 6 7 @Override 8 9 public void onAnimationEnd(Animator animation) { 10 11 super.onAnimationEnd(animation); 12 13 } 14 15 });
以上。另外对APP进行在线全方位的安全性、兼容性测试,我都会用这个:www.ineice.com。
标签:
原文地址:http://www.cnblogs.com/tt110/p/5044267.html