java Android:使用onDoubleTap绘制圆
我创建了一个扩展ImageView的公共类,名为ZoomInZoomOut。在该视图中,将一根手指放在下方可让用户拖动图像。两个手指捏入和捏出允许用户放大或缩小。这些都很好用
现在我想双击在用户触摸的精确x和y坐标处绘制一个圆。由于某些原因,下面的代码没有画圆。。。什么也没发生
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onDoubleTap(MotionEvent event) {
Bitmap bmOverlay = Bitmap.createBitmap(containerWidth,
containerHeight,
Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bmOverlay);
Paint p = new Paint();
p.setAntiAlias(true);
p.setColor(Color.RED);
p.setStrokeWidth(2);
p.setStyle(Paint.Style.STROKE);
canvas.drawBitmap(bmOverlay, matrix, null);
canvas.drawCircle(event.getX(),event.getY(),
100, p);
return true;
}
@Override
public boolean onDown(MotionEvent e) {
return false;
}
}
# 1 楼答案
在绘制位图后,您不会对其执行任何操作。您还试图将位图绘制到由位图创建的画布上
您应该覆盖onDraw并在那里绘制位图,同时使用onDoubleTap根据需要更新位图