码迷,mamicode.com
首页 > 移动开发 > 详细

Android中属性动画的基本用法

时间:2015-12-14 10:42:50      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

在开发中属性动画是很常用的功能,下面我把属性动画的基本用法记录一下,供他人学习,也逐渐积累自己的知识。

单个动画效果:

 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

 

Android中属性动画的基本用法

标签:

原文地址:http://www.cnblogs.com/tt110/p/5044267.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!