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;
@Override
protected 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() {
@Override
public void onAnimationStart(Animation animation) {
Toast.makeText(MainActivity.this, "开始了", 0).show();
}
@Override
public void onAnimationRepeat(Animation animation) {
Toast.makeText(MainActivity.this, "重复了", 0).show();
}
@Override
public void onAnimationEnd(Animation animation) {
Toast.makeText(MainActivity.this, "结束了", 0).show();
}
});
//动画开始
bt.startAnimation(an);
}
@Override
public 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);
}
}