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所示。