Android编程之界面跳动提示动画效果实现方法

2019-12-10 19:52:10王冬梅
  • red2BlueUI();  } 
  • }  @Override 
  • public void onAnimationRepeat(Animation animation) {  } 
  • @Override  public void onAnimationEnd(Animation animation) { 
  • // if (pulled) {  // blue2RedUI(); 
  • // }  } 
  • });  blue.startAnimation(animationSet); 
  • hasEverPulled = true;  } 
  • // 跳起动画  private void playJumpAnimation(final float delta) { 
  • float originalY = 0;  float finalY = 0 - height * delta; 
  • AnimationSet animationSet = new AnimationSet(true);  animationSet.addAnimation(new TranslateAnimation(0, 0, originalY, 
  • finalY));  animationSet.setDuration(300); 
  • animationSet.setInterpolator(new AccelerateDecelerateInterpolator());  animationSet.setFillAfter(true); 
  • animationSet.setAnimationListener(new AnimationListener() {  @Override 
  • public void onAnimationStart(Animation animation) {  } 
  • @Override  public void onAnimationRepeat(Animation animation) { 
  • }  @Override 
  • public void onAnimationEnd(Animation animation) {  playLandAnimation(delta); 
  • }  }); 
  • blue.startAnimation(animationSet);  } 
  • // 落下动画  private void playLandAnimation(final float delta) { 
  • float originalY = 0 - height * delta;  float finalY = 0; 
  • AnimationSet animationSet = new AnimationSet(true);  animationSet.addAnimation(new TranslateAnimation(0, 0, originalY, 
  • finalY));  animationSet.setDuration(200); 
  • animationSet.setInterpolator(new AccelerateInterpolator());  animationSet.setFillAfter(true); 
  • animationSet.setAnimationListener(new AnimationListener() {  @Override 
  • public void onAnimationStart(Animation animation) {  } 
  • @Override  public void onAnimationRepeat(Animation animation) { 
  • }  @Override