2012-05-05 74 views
0

我在android中有一些動畫按鈕的問題。這是我的代碼:按鈕上的動畫不能只運行一次

 private void RunAnimations() { 
      Animation a = AnimationUtils.loadAnimation(this, R.anim.alpha); 
      a.reset(); 
      Button tv = (Button) findViewById(R.id.button1); 
      tv.clearAnimation(); 
      tv.startAnimation(a);} 

      @Override 
     public boolean onTouchEvent(MotionEvent event){ 
      if(event.getAction()== MotionEvent.ACTION_DOWN){ 
       RunAnimations(); 
      } 
      return false; 
      } 

問題是如果屏幕OnTouch會運行動畫。我只想讓動畫只運行一次。我應該添加什麼?

回答

0

你可以添加一個boolean到您的類animationRun = false,然後

public boolean onTouchEvent(MotionEvent event){ 
     if(!animationRun && event.getAction()== MotionEvent.ACTION_DOWN){ 
      RunAnimations(); 
      animationRun = true; 
     } 
     return false; 
     } 

我寧願只是刪除事件處理程序在播放動畫後,但我真的不知道Android的API,以便能在那幫助你。