Android属性动画的监听事件

整体很简单,直接上代码吧。activity_main.xml:

1 2 7 8

然后是JAVA代码,MainActivity.java:
1 package com.example.administrator.animator_demo2; 2 3 import android.animation.Animator; 4 import android.animation.AnimatorListenerAdapter; 5 import android.animation.ObjectAnimator; 6 import android.os.Bundle; 7 import android.support.v7.app.AppCompatActivity; 8 import android.view.View; 9 import android.widget.Button; 10 import android.widget.Toast; 11 12 public class MainActivity extends AppCompatActivity implements View.OnClickListener { 13 14private Button btn_click; 15 16@Override 17protected void onCreate(Bundle savedInstanceState) { 18super.onCreate(savedInstanceState); 19setContentView(R.layout.activity_main); 20initView(); 21} 22 23private void initView() { 24btn_click = (Button) findViewById(R.id.btn_click); 25btn_click.setOnClickListener(this); 26} 27 28@Override 29public void onClick(View v) { 30switch (v.getId()) { 31case R.id.btn_click: 32 //startAnimator1(); 33/** 34* startAnimator1()方法当中,一下就重写了四个监听方法,在因为有的时候,我们 35* 我们并不需要监听那么多,只需要其中的onAnimationEnd()方法。 36* 那这时我们会选择用startAnimator2()的方式。(两种执行效果相同) 37* */ 38startAnimator2(); 39break; 40} 41} 42 43private void startAnimator1() { 44//透明动画 45ObjectAnimator animator = ObjectAnimator.ofFloat(btn_click, "alpha", 0F, 1F); 46animator.setDuration(1000); 47//为动画设置监听 48animator.addListener(new Animator.AnimatorListener() { 49@Override 50public void onAnimationStart(Animator animation) { 51 52} 53 54@Override 55public void onAnimationEnd(Animator animation) { 56/** 57* 大部分情况下,我们都要监听的是这个,在动画结束后,执行什么操作 58* 这里,我们只弹出一个Toast。 59* */ 60Toast.makeText(MainActivity.this, "动画执行结束", Toast.LENGTH_SHORT).show(); 61} 62 63@Override 64public void onAnimationCancel(Animator animation) { 65 66} 67 68@Override 69public void onAnimationRepeat(Animator animation) { 70 71} 72}); 73animator.start(); 74} 75 76private void startAnimator2() { 77//透明动画 78ObjectAnimator animator = ObjectAnimator.ofFloat(btn_click, "alpha", 0F, 1F); 79animator.setDuration(1000); 80//为动画设置监听 81animator.addListener(new AnimatorListenerAdapter() { 82@Override 83public void onAnimationEnd(Animator animation) { 84super.onAnimationEnd(animation); 85Toast.makeText(MainActivity.this, "动画执行结束", Toast.LENGTH_SHORT).show(); 86} 87}); 88animator.start(); 89} 90 }


【Android属性动画的监听事件】转载于:https://www.cnblogs.com/huolongluo/p/6792058.html

    推荐阅读