2014-06-09 103 views
0

當我點擊圖片時,我想要有一個平滑的對象動畫動畫。現在它跳到座標,然後它動畫。有什麼建議麼?這裏是代碼:如何製作平滑的反對者動畫製作動畫?

testImage = (ImageView) findViewById(R.id.testImage); 


     testImage.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 

     if (depends) { 

      anim = ObjectAnimator.ofFloat(testImage, "translationY", 0.f, +90); 
      anim.setDuration(1000); 

      anim.start(); 

      depends = false; 
     } else { 

      depends = true; 
      anim = ObjectAnimator.ofFloat(testImage, "translationY", 0.f, -90); 
      anim.setDuration(1000); 

      anim.start(); 

     } 

      } 
     }); 
+0

使用TranslateAnimation – pskink

+0

TranslateAnimation不適合我。它只會動畫圖像,而不是點擊事件。 – user3683815

+0

當您回到原始座標的動畫時,請改用(90,0)。對象動畫工程師的絕對值,而不是相對於當前的。 – harism

回答

0

不要給他一個起始值,只傳遞目標值。它將使用getTranslationY()來獲取起始值。

anim = ObjectAnimator.ofFloat(testImage, "translationY", depends ? +90 : -90); 
     anim.setDuration(1000); 
anim.start(); 
depends = !depends; 
+1

或者;如果API 12+不是問題,則testImage.animate()。setDuration(1000).translationY(targetValue)常常非常方便。 – harism