2012-01-03 96 views
2

我已經從動畫一個地方到另一個視圖,後做動畫我已經寫了這樣的代碼,如何在動畫之後編寫視圖的onclick監聽器?

public void onAnimationEnd(Animation animation) { 
      imageView.setOnClickListener(this); 
     } 

,但我不能能夠單擊視圖。該觀點沒有迴應。

+0

如果在動畫執行之前點擊視圖最初的位置,它是否工作? – 2012-01-03 13:32:53

+0

你的班級上有onClick方法嗎? – evilone 2012-01-03 13:33:17

+0

是在動畫開始之前工作。 – DevAndroid 2012-01-03 13:33:29

回答

0

您應該將動畫後的視圖移動到新位置。你可以使用LayoutParams。

0

您應該將動畫後的視圖移動到新位置。你可以使用LayoutParams。使用這樣的代碼..

 transAnimation= new TranslateAnimation(0, 
sourceX-destinationX,0,sourceY-destinationY); // right to left 

      transAnimation.setDuration(1000); 
      //transAnimation.setFillEnabled(true); 
      transAnimation.setFillAfter(false); 
      view.startAnimation(transAnimation); 

transAnimation.setAnimationListener(new AnimationListener() { 

        @Override 
public void onAnimationStart(Animation animation) { 
        } 

        @Override 
public void onAnimationRepeat(Animation animation) { 
         // TODO Auto-generated method stub 
        } 

@Override 
public void onAnimationEnd(Animation animation) { 

Log.v("hari", "--------onAnimationEnd--------"); 

RelativeLayout.LayoutParams relativeNew 
    = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, 
    LayoutParams.WRAP_CONTENT); 
      relativeNew.addRule(RelativeLayout.ALIGN_PARENT_LEFT); 
     relativeNew.addRule(RelativeLayout.ALIGN_LEFT); 
    relativeNew.setMargins(125, 10, 10, 10); 
    view.setLayoutParams(relativeNew); 

}