TranslateAnimation類是Android系統中的位置變化動畫類,用於控制View對象的位置變化,該類繼承於Animation 類。TranslateAnimation類中的不少方法都與Animation類一致,該類中最經常使用的方法即是TranslateAnimation構 造方法。ide
【基本語法】public TranslateAnimation (float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)動畫
參數說明spa
fromXDelta:位置變化的起始點X座標。code
toXDelta:位置變化的結束點X座標。對象
fromYDelta:位置變化的起始點Y座標。繼承
toYDelta:位置變化的結束點Y座標。圖片
【實例演示】下面經過代碼來演示如何設置一個簡單的位置變化動畫效果。ci
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); final Animation translateAnimation=new TranslateAnimation(0,300,0,300); //位置變化動畫效果 btn1.setOnClickListener(new View.OnClickListener() { //設置監聽器 @Override public void onClick(View v) { // TODO Auto-generated method stub translateAnimation.setDuration(3000); //設置動畫持續時間 translateAnimation.setRepeatCount(2); //設置重複次數 translateAnimation.setRepeatMode(Animation.REVERSE); //反方向執行 image.setAnimation(translateAnimation); //設置動畫效果 translateAnimation.startNow(); //啓動動畫 } }); btn2.setOnClickListener(new View.OnClickListener() { //設置監聽器 @Override public void onClick(View v) { // TODO Auto-generated method stub translateAnimation.cancel(); //取消動畫執行 } }); } }
在這段代碼中,首先經過TranslateAnimation構造方法建立了一個位置變化的動畫對象。而後,在第一個按鈕監聽器中設置了動 畫的持續時間、重複次數和重複模式等,而後啓動該動畫。在第二個按鈕監聽器中取消該動畫。讀者運行這段代碼,將看到圖片沿如圖9.7所示的路徑往返運動。get