Android(安卓)Animation(四)AnimationListener
16lz
2022-03-17
利用AnimationListener在一个动画完成之后,继续执行下一个动画
1.activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
2.MainActivity.java
public class MainActivity extends AppCompatActivity{ private ImageView imageView; private Button btnStart; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = (ImageView) findViewById(R.id.image_view); btnStart = (Button) findViewById(R.id.btn_start); btnStart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AnimationSet animationSet = new AnimationSet(true); ScaleAnimation scaleAnimation = new ScaleAnimation(0,0.1f,0,0.1f, Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f); final RotateAnimation rotateAnimation = new RotateAnimation(0,360,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f); rotateAnimation.setDuration(5000); scaleAnimation.setDuration(5000); //设置一个动画监听器 scaleAnimation.setAnimationListener(new Animation.AnimationListener() { @Override //动画开始的时候执行的方法 public void onAnimationStart(Animation animation) { Toast.makeText(MainActivity.this,"动画开始了",Toast.LENGTH_SHORT).show(); } @Override //动画结束的时候执行的方法 public void onAnimationEnd(Animation animation) { Toast.makeText(MainActivity.this,"动画结束了",Toast.LENGTH_SHORT).show(); imageView.startAnimation(rotateAnimation); } @Override //动画重复的时候执行的方法 public void onAnimationRepeat(Animation animation) { } }); animationSet.addAnimation(rotateAnimation); animationSet.addAnimation(scaleAnimation); imageView.startAnimation(animationSet); } }); }}
更多相关文章
- Android计时器和倒计时
- Android显示GIF动画完整示例(一)
- android(17)_数据存储与访问_SQLite数据库_修改数据库
- android 自定义view 不执行 ondraw的解决办法
- Android(安卓)自定义Animation,使用Camera对View组件作三维变换
- android实现播放器反射性动画效果
- Android(安卓)之 SeekBar用法介绍
- android中用socket 接收服务器的消息
- Android(安卓)SqlLiter使用