Android旋转动画不停顿

来源:互联网 发布:电线传输网络信号原理 编辑:程序博客网 时间:2024/05/01 06:13
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);}}

原创粉丝点击