2011-02-01 107 views
4

我有這樣的代碼;如何動畫在Android中使用代碼繪製的畫布?

AnimationSet s1 = new AnimationSet(true); 
     TranslateAnimation tr1 = new TranslateAnimation(0, 0, -100, -200); 
     tr1.setDuration(6500); 
     s1.addAnimation(tr1); 
Paint paint = new Paint(); 
    Bitmap b = Bitmap.createBitmap(90, 90, Bitmap.Config.ARGB_8888); 
    Canvas c1 = new Canvas(b); 
    c1.drawCircle(50, 100, 20, paint); 

AnimationSet s2 = new AnimationSet(true); 
     TranslateAnimation tr2 = new TranslateAnimation(0, 0, -140, -260); 
     tr2.setDuration(6500); 
     s1.addAnimation(tr2); 
    Canvas c2 = new Canvas(b); 
    c2.drawCircle(150, 140, 20, paint); 

如何在畫布c1上開始動畫s1和畫布c2上的動畫s2?如果我subsclass視圖類,然後我可以調用視圖類的startAnimation方法,但我怎樣才能使用視圖類綁定上述動畫與上述動畫?示例代碼將非常有幫助。我無法找到一個乾淨的Android API,它允許我指定動畫的目標。應該有一個給定一系列動畫的API指定任何目標圖形對象 - 在我的情況下是畫布對象 - (不僅僅是內置的圖形對象,例如按鈕),動畫序列將在其上運行上。

回答

3

您可以將Canvas添加爲某個組件(如ImageView)的圖像,然後爲該視圖添加動畫。