我在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;}
是这样的吗?我需要坚持使用画布,我不确定如何做到这一点。
感谢。
答案 0 :(得分:1)
您可以通过将mallMap的值更改为onTouchEvent中的新位图,然后在视图上调用invalidate()以使onDraw再次运行来实现此目的。您不必使用此方法在onDraw之外引用画布。