Android:更改Canvas上显示的位图图像

时间:2011-12-05 22:41:29

标签: java android

我在onDraw中绘制一个位图,并希望能够在用户点击屏幕的某个部分时更改该图像。我像这样显示图像...

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 个答案:

答案 0 :(得分:1)

您可以通过将mallMap的值更改为onTouchEvent中的新位图,然后在视图上调用invalidate()以使onDraw再次运行来实现此目的。您不必使用此方法在onDraw之外引用画布。