Android View.startAnimation()动画

发布日期:2013-01-24 22:17:33

1.

Java代码  
  1. Animation animation = AnimationUtils.loadAnimation(this, R.anim.location_pop_anim);   
  2. tvIcon.startAnimation(animation);  
    	Animation animation = AnimationUtils.loadAnimation(this, R.anim.location_pop_anim);
    	tvIcon.startAnimation(animation);
 

2.从上到下

Java代码  
  1. "http://schemas.android.com/apk/res/android">   
  2.   
  3.     
  4.   
  5.        android:fromYDelta="-480"  
  6.   
  7.        android:toYDelta="0"  
  8.   
  9.        android:duration="1000"/>   
  10.   
  11.   

	

 

从左到右

Java代码  
  1. "http://schemas.android.com/apk/res/android">   
  2.   
  3.    
  4.   
  5.        android:fromXDelta="0"  
  6.   
  7.        android:toXDelta="320"  
  8.   
  9.        android:duration="3000"/>   
  10.   
  11.   

	

 

 

单位为“%”表示相对于自己旋转

没有单位表示相对父类旋转

 

注意:如果一边位移translate,一边旋转rotate

在旋转的时候会按一个圆形不断减小的圆旋转。因为translate的时候,y不断的变化,rotate会根据这个y值不断变化而变化!

 

 

如果希望执行完一个后再执行另外一个效果,假设第一个效果执行时间是

 

Java代码  
  1. android:duration="1000"  
android:duration="1000"

 在下一个效果中设置下面的代码,那么这个效果就可以在上一个效果执行完后再执行

 

Java代码  
  1. android:startOffset="1000"  
  android:startOffset="1000"
 

 

希望设置某个效果重复执行的话

Java代码  
  1. android:repeatMode="restart"  
  2. android:repeatCount="10"  
	android:repeatMode="restart"
	android:repeatCount="10"
 

 

 

注:Delta也可以用%p為單位 

例子:

android:fromXDelta="0" android:toXDelta="-100%p" 往左邊消失

android:fromXDelta="-100%p" android:toXDelta="0" 從左邊進

android:fromXDelta="0" android:toXDelta="100%p" 往右邊消失

android:fromXDelta="100%p" android:toXDelta="0" 從右邊進

 

 

二、Rotate 定義視圖旋轉角度

視圖的中心位置旋轉360度,時間1 秒完成

    android:fromDegrees="0"

    android:toDegrees="+360"

    android:pivotX="50%"

    android:pivotY="50%"

    android:duration="1000"/>


三、Scale 定義視圖縮放動畫

        android:interpolator="@android:anim/accelerate_interpolator">  

   

         android:fromYScale="0.0" android:toYScale="1.0"  

         android:pivotX="50%p" android:pivotY="50%p"  

         android:duration="300"/>  

 
//上面的效果為從中間爆出來的效果,可用于Activity的過度效果

釋:Scale定義如何沿著x軸方向(或y軸方向)改變視圖的大小,視圖大小發生變化時樞軸(pivot)位置是保持不變的 pivotX/pivotY為x/y軸的百分比

四、Alpha 定義視圖的透明痛

    android:fromAlpha="0.1"

    android:toAlpha="1.0"

    android:duration="3000"/>


    注:透明度變化范圍從0.0(透明)到1.0(不透明)

 

 

参考:http://blog.csdn.net/wfung_kwok/article/details/7202682