廢話不說,上代碼: 1、要關閉的Activity代碼: [java] <span style="font-size:18px;">public class TVOffDemo extends Activity { /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button b = (Button) findViewById(R.id.Button01); b.setOnClickListener(new OnClickListener() { public void onClick(View v) { View img = findViewById(R.id.layout); img.startAnimation(new TVOffAnimation()); } }); } }</span> [java] <span style="font-size:18px;">2、動畫實作類別TVOffAnimation </span> [java] view plaincopyprint?<span style="font-size:18px;">public class TVOffAnimation extends Animation { private int halfWidth; private int halfHeight; public void initialize(int width, int height, int parentWidth, int parentHeight) { super.initialize(width, height, parentWidth, parentHeight); setDuration(500); setFillAfter(true); // 儲存View的中心點 halfWidth = width / 2; halfHeight = height / 2; setInterpolator(new AccelerateDecelerateInterpolator()); } protected void applyTransformation(float interpolatedTime, Transformation t) { final Matrix matrix = t.getMatrix(); if (interpolatedTime < 0.8) { matrix.preScale(1 + 0.625f * interpolatedTime, 1 - interpolatedTime / 0.8f + 0.01f, halfWidth, halfHeight); } else { matrix.preScale(7.5f * (1 - interpolatedTime), 0.01f, halfWidth, halfHeight); } } }</span>