2013-08-02 94 views
1

此代碼中的問題?API 8上的Android動畫

它在android 4上的成功!但不要在2.2上工作!

我使用nineoldandroids庫爲Android API 8

if(Build.VERSION.SDK_INT > 13) { 
     v.setTranslationX(0.0F); 
     v.setTranslationY(height); 
     v.setRotationX(45.0F); 
     v.setScaleX(0.7F); 
     v.setScaleY(0.55F); 
     ViewPropertyAnimator localViewPropertyAnimator = 
       v.animate().rotationX(0.0F).rotationY(0.0F).translationX(0).translationY(0).setDuration(animDuration).scaleX(
        1.0F).scaleY(1.0F).setInterpolator(interpolator); 

      localViewPropertyAnimator.setStartDelay(0).start(); 
    } else { 

     com.nineoldandroids.view.ViewPropertyAnimator.animate(v).translationX(0.0F).translationY(height) 
     .rotationX(45.0F).scaleX(0.7F).scaleY(0.55F); 
     com.nineoldandroids.view.ViewPropertyAnimator.animate(v).setStartDelay(0).start(); 


     com.nineoldandroids.view.ViewPropertyAnimator.animate(v).rotationX(0.0F).rotationY(0.0F).translationX(0).translationY(0).setDuration(animDuration).scaleX(
        1.0F).scaleY(1.0F).setInterpolator(interpolator); 
     com.nineoldandroids.view.ViewPropertyAnimator.animate(v).setStartDelay(animDuration).start(); 


    } 

遺憾的英語不好!

tnx全部 -------------------------------編輯---------- -------------------

代碼在android 2.2上正確執行,但不像android 4!

+1

我使用com.nineoldandroids.view.ViewPropertyAnimator爲8級 –

回答

2

ViewPropertyAnimator適用於api級別> 11.但是,您可以使用nineoldandroids庫項目,該項目是此動畫的代理(非常好)。

或者你可以簡單地使用

Animation類更新:

我錯過了你說ü已使用nineoldandroids的一部分。你檢查你的進口也許你進口的天然

ViewPropertyAnimation

它可能會導致的問題太多。該libray使用本機api,如果api級別> 11,則不需要導入本機api。

2

您需要導入視圖助手類的nineoldandroid像

import com.nineoldandroids.view.ViewHelper; 

,然後用下面的代碼

ViewHelper.setTranslationX(Your View, 0.0F); 
ViewHelper.setTranslationY(Your View, height); 
ViewHelper.setRotationX(Your View,45.0F); 
ViewHelper.setScaleX(Your View,0.7F); 
ViewHelper.setScaleY(Your View,0.55F); 

,而不是

v.setTranslationX(0.0F); 
    v.setTranslationY(height); 
    v.setRotationX(45.0F); 
    v.setScaleX(0.7F); 
    v.setScaleY(0.55F); 
+0

這是絕對正確的答案,它應該打勾爲真正的答案 –