[Android動畫] 補間動畫-尺寸變化動畫類( ScaleAnimation)四

ScaleAnimation類是Android系統中的尺寸變化動畫類,用於控制View對象的尺寸變化,該類繼承於Animation類。 ScaleAnimation類中的不少方法都與Animation類一致,該類中最經常使用的方法即是ScaleAnimation構造方法。ide

【基本語法】public ScaleAnimation (float fromX, float toX, float fromY, float toY, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)動畫

參數說明code

fromX:起始X座標上的伸縮尺寸。對象

toX:結束X座標上的伸縮尺寸。繼承

fromY:起始Y座標上的伸縮尺寸。圖片

toY:結束Y座標上的伸縮尺寸。get

pivotXType:X軸的伸縮模式,能夠取值爲ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。it

pivotXValue:X座標的伸縮值。io

pivotYType:Y軸的伸縮模式,能夠取值爲ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。class

pivotYValue:Y座標的伸縮值。

【實例演示】下面經過代碼來演示如何設置一個簡單的尺寸變化動畫效果。

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 scaleAnimation= new   
     ScaleAnimation(0f,1f,0f,1f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);  
                                                        //設置尺寸變化動畫對象  
    btn1.setOnClickListener(new View.OnClickListener() {        //設置監聽器  
          
        @Override  
        public void onClick(View v) {  
            // TODO Auto-generated method stub  
            scaleAnimation.setDuration(2000);               //動畫持續時間  
            image.setAnimation(scaleAnimation);         //設置動畫  
            scaleAnimation.startNow();                      //啓動動畫  
        }  
    });  
    btn2.setOnClickListener(new View.OnClickListener() {        //設置監聽器  
          
        @Override  
        public void onClick(View v) {  
            // TODO Auto-generated method stub  
            scaleAnimation.cancel();                        //取消動畫執行  
        }  
    });  
}  
}

在這段代碼中,首先經過ScaleAnimation構造方法建立了一個尺寸變化的動畫對象。而後,在第一個按鈕監聽器中設置了動畫的持續 時間,以後啓動該動畫。在第二個按鈕監聽器中取消該動畫。讀者運行這段代碼,將看到圖片從小到大逐漸變化,如圖9.9所示。最後,圖片增大到原始尺寸的時 候中止,如圖9.10所示。

相關文章
相關標籤/搜索