AndroidXML动画

Android的动画可以使用xml实现,那么由于之前使用了帧动画和补间动画,3.0后的属性动画,这里做一下总结

google将属性动画命名为animator动画师,之前动画命名为animation动画

1、属性动画

  属性动画标签对应的关系,从根标签可以看出是什么动画

  • <animator>  对应代码中的ValueAnimator
  • <objectAnimator>  对应代码中的ObjectAnimator
  • <set>  对应代码中的AnimatorSet

  平滑过渡动画

1 <animator xmlns:android="http://schemas.android.com/apk/res/android"  
2     android:valueFrom="0"  
3     android:valueTo="100"  
4     android:valueType="intType"/> 

  alpha动画,这里使用了对象的属性,所有使用objectAnimator

1 <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"  
2     android:valueFrom="1"  
3     android:valueTo="0"  
4     android:valueType="floatType"  
5     android:propertyName="alpha"/>  

  组合动画

  sequentially[sɪ'kwenʃəlɪ]顺序 together[təˈgeðə(r)]同时

 1 <set xmlns:android="http://schemas.android.com/apk/res/android"  
 2     android:ordering="sequentially" >  
 3   
 4     <objectAnimator  
 5         android:duration="2000"  
 6         android:propertyName="translationX"  
 7         android:valueFrom="-500"  
 8         android:valueTo="0"  
 9         android:valueType="floatType" >  
10     </objectAnimator>  
11   
12     <set android:ordering="together" >  
13         <objectAnimator  
14             android:duration="3000"  
15             android:propertyName="rotation"  
16             android:valueFrom="0"  
17             android:valueTo="360"  
18             android:valueType="floatType" >  
19         </objectAnimator>  
20   
21         <set android:ordering="sequentially" >  
22             <objectAnimator  
23                 android:duration="1500"  
24                 android:propertyName="alpha"  
25                 android:valueFrom="1"  
26                 android:valueTo="0"  
27                 android:valueType="floatType" >  
28             </objectAnimator>  
29             <objectAnimator  
30                 android:duration="1500"  
31                 android:propertyName="alpha"  
32                 android:valueFrom="0"  
33                 android:valueTo="1"  
34                 android:valueType="floatType" >  
35             </objectAnimator>  
36         </set>  
37     </set>  
38   
39 </set>  

   动画的启动

Animator animator = AnimatorInflater.loadAnimator(context, R.animator.anim_file);  
animator.setTarget(view);  
animator.start();  

  

posted @ 2015-08-27 09:12  轻云沉峰  阅读(151)  评论(0)    收藏  举报