2012-10-03 64 views
0

我使用這個動畫動畫化的LinearLayout後,但我只是不能得到它移動的動畫結束的方向......Android的 - 移動的LinearLayout到位置動畫

TranslateAnimation intro = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.8f); 

我現在有這樣的代碼讓它去到正確的位置,但它不工作:

myLinearLayout.setLayoutAnimationListener(
     new AnimationListener() {public void onAnimationEnd(Animation animation) { 
       float pixelsInDP = (float) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, getResources().getDisplayMetrics()); 

       LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 

       int marginLeft = (int) (41 * pixelsInDP); 
       int marginTop = (int) ((letter1+3) * pixelsInDP); 

       layoutParams.setMargins(marginLeft, marginTop, 0, 0); 

       myLinearLayout.setLayoutParams(layoutParams); 
       myLinearLayout.invalidate(); 
      } 

myLinearLayout是的LinearLayout,但由於某些原因的LinearLayout只是不會改變...的位置 我在做什麼錯在這裏的傢伙?

編輯:更多的測試後,我發現了onAnimationEnd事件不會被觸發在所有...什麼...?

回答

0

原來我不得不改變

myLinearLayout.setLayoutAnimationListener 

intro.setAnimationListener 

哦,這樣的邏輯......啊。現在我只需要修復這些毛利:P