2011-12-05 71 views
1

我在我的onDraw中繪製位圖,並希望能夠在用戶單擊屏幕的某個部分時更改該圖像。我像這樣顯示圖像...Android:更改位圖圖像顯示在畫布上

protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    canvas.drawColor(Color.WHITE); 
    canvas.drawBitmap(mallMap, 0, 0, null); 
    canvas.drawLines(pts, paint);} 

然後在我的onTouch方法我希望能夠重新繪製一個不同的位圖

public boolean onTouchEvent(MotionEvent event) { 
    final int action = event.getAction(); 
    final int x = (int) event.getX(); 
    final int y = (int) event.getY(); 

    if (action == MotionEvent.ACTION_DOWN) { 
    Canvas.drawBitmap(lowerLeft, 0, 0, null); 
    return false;} 

是這樣的可能嗎?我需要堅持畫布,我不知道我會如何做到這一點。

謝謝。

回答

1

您可以通過在onTouchEvent中將mallMap的值更改爲新的位圖,然後在視圖上調用invalidate()來使onDraw再次運行。您不應該使用此方法在onDraw之外引用畫布。