2011-11-23 91 views
0

我有一張圖片。點擊按鈕時,圖像上會出現翻譯動畫,以便它向左滑動,並且最終只能看到一定比例的圖像。翻譯後獲取圖像的絕對位置動畫

翻譯動畫發生後,我可以通過哪種方式獲取圖像的位置?我意識到我可以使用動畫偵聽器並在OnAnimationEnd方法中執行某些操作。然而,我不知道該怎麼辦...

我該如何獲得圖像已經移動到的位置並將其設置爲我的圖像佈局參數?

我真的可以在這裏使用你的幫助。

回答

0

假設您當前的圖像位置是x,y。您正在沿x方向移動100,y方向50.因此,您當前的位置是newx = x + 100,newy = y + 50。您將使用onAnimationEnd方法中的佈局放置圖像。

TranslateAnimation TAnimation=new TranslateAnimation(0, 100, 0, 50)   
    TAnimation.setDuration(2000); 
    TAnimation.setFillAfter(true); 
    Image.startAnimation(TAnimation); 
TAnimation.setAnimationListener(new AnimationListener() { 

     public void onAnimationStart(Animation animation) { 

     } 

     public void onAnimationRepeat(Animation animation) { 

     } 

     public void onAnimationEnd(Animation animation) { 

      RelativeLayout RL=(RelativeLayout)findViewById(R.id.rl); 
       param=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
      param.setMargins(x+100, y+50, 0, 0); 
       Image.setLayoutParams(param); 

     } 
    }); 
0

我知道這個問題是舊的,但它可能會幫助別人。 您可以再補充:

animation.setFillAfter(true); 

或在XML中設置:

fillAfter = "true" 

就是這樣。這將迫使觀點處於新的位置