package com.example.demoandroid;import android.app.Activity;import android.os.Bundle;import android.view.MotionEvent;import android.view.animation.Animation;import android.view.animation.Animation.AnimationListener;import android.view.animation.LinearInterpolator;import android.view.animation.RotateAnimation;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {private Button bt;private Animation an;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bt = (Button) findViewById(R.id.bt);an = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);an.setInterpolator(new LinearInterpolator());//不停頓an.setRepeatCount(1);//重複次數an.setFillAfter(true);//停在最後an.setDuration(4000);an.setAnimationListener(new AnimationListener() {@Overridepublic void onAnimationStart(Animation animation) {Toast.makeText(MainActivity.this, "開始了", 0).show();}@Overridepublic void onAnimationRepeat(Animation animation) {Toast.makeText(MainActivity.this, "重複了", 0).show();}@Overridepublic void onAnimationEnd(Animation animation) {Toast.makeText(MainActivity.this, "結束了", 0).show();}});//動畫開始bt.startAnimation(an);}@Overridepublic boolean onTouchEvent(MotionEvent event) {switch (event.getAction()) {case MotionEvent.ACTION_DOWN:bt.clearAnimation();break;case MotionEvent.ACTION_UP:bt.startAnimation(an);break;default:break;}return super.onTouchEvent(event);}}