2012-02-14 67 views

回答

3

你應該寫一個關於你的具體問題的新鮮,簡潔的問題,而不是僅僅指出其他問題。這兩個問題並不完全清楚。

我想你的問題是應用動畫(如TranslateAnimation,例如)到View之後,View不再響應觸摸事件在新的位置。原因是因爲View尚未在佈局參數方面轉移到新的位置,而是應用了轉換。

解決方案很簡單:動畫完成後立即將View移動到新的位置。您可以設置myAnimation.setFillAfter() = false,並設置一個監聽器物理移動View到目標位置時,動畫結束:

myAmazingAnimation.setFillAfter() = false; 
myAmazingAnimation.setAnimationListener(new Animation.AnimationListener(){ 

       @Override 
       public void onAnimationEnd(Animation animation) { 
          // Now actually move the View using LayoutParams 
       } 

       @Override 
       public void onAnimationRepeat(Animation animation) {      
       } 

       @Override 
       public void onAnimationStart(Animation animation) { 
       } 

      }); 

另一個變化是應用於動畫之前在開始時身體移動View,並且然後應用動畫,使View開始以前的位置,並在0,0處結束。

+2

嗯,但連續動畫呢?我有一個永遠從左向右滑動的雲圖像。我想添加點擊事件監聽器,它不工作。謝謝信息視圖剛剛變換沒有實際移動到一個位置。順便說一句,我可以爲每個翻譯添加動畫偵聽器嗎? onAnimationEnd在這裏沒有幫助 – Naveed 2012-02-14 21:16:12