[Android動畫] 補間動畫-動畫工具類( AnimationUtils)七

AnimationUtils類是Android系統中的動畫工具類,提供了控制View對象的一些工具。該類中最經常使用的方法即是 loadAnimation方法,該方法用於加載XML格式的動畫配置文件。在Android系統中,除了在代碼中設置動畫效果外,還能夠在XML配置文 件中設置動畫的組合動做,這種方式適用性更好。android

【基本語法】public static Animation loadAnimation (Context context, int id)ide

參數說明工具

context:上下文對象。動畫

id:動畫配置文件的ID。spa

【實例演示】下面經過代碼來演示如何加載一個XML組合動畫效果。code

public class firstActivity extends Activity {  
/** Called when the activity is first created. */  
@Override  
public void onCreate(Bundle savedInstanceState) {               //重載onCreate方法  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.main);  
 
    final ImageView image=(ImageView)findViewById(R.id.imageView1); //ImageView對象  
    Button btn1=(Button)findViewById(R.id.button1);             //按鈕對象  
    Button btn2=(Button)findViewById(R.id.button2);  
    Animation loadAnimation;                                    //動畫對象  
    btn1.setOnClickListener(new View.OnClickListener() {            //設置監聽器  
          
        @Override  
        public void onClick(View v) {  
            // TODO Auto-generated method stub                  //加載動畫  
            loadAnimation=AnimationUtils.loadAnimation(getApplicationContext(),   
    R.anim.anim);  
            image.setAnimation(loadAnimation);                  //爲控件設置動畫  
            loadAnimation.setFillAfter(true);                   //停留在結束位置  
            loadAnimation.setFillEnabled(true);  
            loadAnimation.startNow();                           //開始動畫  
        }  
    });  
    btn2.setOnClickListener(new View.OnClickListener() {            //設置監聽器  
          
        @Override  
        public void onClick(View v) {  
            // TODO Auto-generated method stub  
            loadAnimation.cancel();                         //取消動畫執行  
        }  
    });  
}  
}

在這段代碼中,首先聲明瞭動畫對象。而後,在第一個按鈕監聽器中經過loadAnimation方法加載動畫配置文件,並設置了動畫的一些 特徵,最後開始執行動畫。在第二個按鈕監聽器中調用cancel方法取消動畫執行。這裏用到的動畫配置文件以下所示,裏面定義了位置移動和旋轉的組合動畫 效果。xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate android:toXDelta="0" 
            android:toYDelta="300" 
            android:duration="3000"/>   
    <rotate android:fromDegrees="270" 
            android:toDegrees="360" 
            android:pivotX="50%" 
            android:pivotY="50%" 
            android:duration="3000"/>   
</set>

讀者運行這段代碼,能夠在手機屏幕上看到如圖9.15所示的顯示效果。圖片從起始位置邊旋轉邊移動,最後停留在如圖9.16所示的位置。對象

 
圖9.15  加載動畫配置文件
 
圖9.16  動畫最終位置
相關文章
相關標籤/搜索