0
我正試圖編寫一個小型Android應用程序,每次觸摸屏幕時都會重新繪製圖像。Android在觸摸屏幕時將圖像重新繪製到新位置
我期望的圖像重新繪製到由event.getX()
和event.getY()
提供當我重寫在一個活動的onTouch(Event)
方法新x,y
座標。
任何人都可以幫忙嗎?
我正試圖編寫一個小型Android應用程序,每次觸摸屏幕時都會重新繪製圖像。Android在觸摸屏幕時將圖像重新繪製到新位置
我期望的圖像重新繪製到由event.getX()
和event.getY()
提供當我重寫在一個活動的onTouch(Event)
方法新x,y
座標。
任何人都可以幫忙嗎?
我認爲,你會有圖像的位圖對象。
您可以從onTouch()方法調用onDraw()方法來繪製位圖。這裏的一個代碼示例示出被覆蓋的的onDraw()方法:
protected void onDraw(Canvas canvas)
{
canvas.drawBitmap(imgBitmap, x, y, null);
}
x,y是所述觸摸的新座標。 imgBitmap是圖像的位圖對象。您可以在onTouch()方法中更新實例變量x和y。
希望這有助於!
這就是我正在做的,但當我觸摸屏幕時,圖像不會重繪 – Arkangel
您是否調用invalidate()來刷新繪製週期? – c05mic
公共布爾的onTouchEvent(MotionEvent事件) \t { \t \t 開關(event.getAction()){ \t情況MotionEvent.ACTION_DOWN: \t \t INT X =(int)的event.getX(); \t \t int y =(int)event.getY(); \t \t Rect rect = new Rect(); \t \t rect.set(50,50,x,y); \t \t canvas.drawBitmap(bob565,null,rect,null); \t \t \t break; \t case MotionEvent.ACTION_UP: \t \t invalidate(); \t \t break; \t} \t return true; \t} – Arkangel