2015-01-09 40 views
-1

有沒有更簡單的方法,我怎樣才能動畫我的位圖像動畫可繪製?我研究精靈,但它似乎比我想象的要困難得多。如何動畫位圖

UPDATE繼承人我的代碼:

mAnimLogo = (ImageView) findViewById(R.id.menu_anim); 
mAnimLogo.setImageResource(R.animator.menu_title); 
mAnimLogo.setImageBitmap(resizedbitmap); 
mAnimation = (AnimationDrawable) mAnimLogo.getDrawable(); 
mAnimation.start(); 

和我的OnDraw。

resizedbitmap = Bitmap.createScaledBitmap(resizedbitmap, Bitwidth, 
     Bitheight, true); 
// draw bitmap 
canvas.drawBitmap(resizedbitmap, (currentX * totalCellWidth) 
     + (cellWidth/20), (currentY * totalCellHeight) 
     + (cellWidth/20), ball); 

然後我得到了一個空指針異常。

+0

嗨瑪麗亞, 我不完全確定我理解你的問題。我希望你能理解位圖和圖像的區別: http://etc.usf.edu/techease/win/images/what-is-the-difference-between-bitmap-and-vector-images/ 你也可能對以下內容感興趣:SVGs(可縮放矢量圖形) 我不確定你想要什麼類型的動畫,但可以嘗試:精靈可以輕鬆進行圖像處理,也可以查看SGV以獲取更復雜的圖像動畫。 – Archie22is

+0

似乎沒有比製作精靈更簡單的動畫製作位圖的方法。 ( –

+0

)你不能混合動畫drawable和onDraw()方法如果你正在做animationDrawable比AnimationDrawable類中的所有實際繪圖都要多,並且onDraw只會和AnimationDrawable進行交談並重復調用,你可以執行以下兩種操作之一:1)使你自己的視圖包含位圖(不需要ImageView),並自己畫一段時間,延遲無效。 2)重寫AnimationDrawable並在其onDraw方法中進行自定義繪圖。 – Leo

回答

0

由於您已將問題標記爲Android Eclipse,因此在Android平臺上相當容易。 有: http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html 並且在完成之後,您需要將其應用於您的某個視圖(手工繪製(Canvas)方法)或某些視圖支持Drawable作爲背景。應該相當簡單,與精靈和SVG(非SGV)無關。

+0

先生,我有視圖類,也是一種提取方法。我的問題是我不知道如何使用可繪製的動畫來替代我在視圖類上繪製的位圖。 –

+0

既然你已經有onDraw,並知道如何做Canvas.drawBitmap(...),你可以使用靜態處理程序處理程序=新處理程序();在你的View類和Runnable中invalidate()= new Runnable(){... invalidate(); } and than from you onDraw(Canvas c){... handler.postDelayed(invalidate,milliseconds); ...} – Leo