0

如何用當前位置的動畫(平移,旋轉&比例)將視圖移動到矩陣的新狀態?Android:如何動畫使用矩陣移動視圖?

電流值(...)==>有生==>新的值(比例:1,transX:20,transY:700,角度:0)

我使用下面的代碼,該移動發生沒有動畫。

Matrix matrix = new Matrix(); 
matrix.setTranslate(20, 700); 

MyAnimation animation = new MyAnimation(matrix); 
animation.setDuration(1000); 
animation.setFillAfter(true); 
text_object.setAnimation(animation); 

MyAnimation.java

public class MyAnimation extends Animation { 
    private Matrix matrix; 

    public MyAnimation(Matrix matrix) { 
     this.matrix = matrix; 
    } 

    @Override 
    protected void applyTransformation(float interpolatedTime, Transformation t) { 
     super.applyTransformation(interpolatedTime, t); 
     t.getMatrix().set(matrix); 
    } 
} 

如何使動畫作品? 可以用什麼方法來實現這個目標?

回答

0

爲什麼要去修改的來動畫它的尺度和轉換。只需使用Property Animation。您可以在此處閱讀更多內容:http://developer.android.com/guide/topics/graphics/prop-animation.html

您可以使用ObjectAnimator執行所需的動畫。

+0

使用「view.animate()。x(20).y(700).start();」是相對於當前對象而不是屏幕的計算。如何指定全局座標系中的座標? – Qulery

+0

是的。這與觀點相關。如果你想使用相對於屏幕,你可以先找到視圖的座標。然後用這個和相對位置來做你的動畫。你可以試試'View.getLocationOnScreen()'或'getLocationInWindow()' – Henry